Learnings and Impact

One of those projects where pushing for more scope was worth it

This project was originally suppose to be just a change in billing services, but as I explored more into the problem, I realized there were a lot of changes needed to be made that will satisfy this project's requirements, but also set ourselves up for success for some other projects on the pipeline. I pushed for the scope to grow but this comes with us being able to scale faster for subsequent projects. We also were able to make some improvements to existing UX/UI, which is something we're aiming to do as we improve our existing features.

Anita Ngo

2026

Problem

It is difficult for agents and brokers to find the subscriptions they are subscribed to. How might we display subscription services so that it can be easy for our users to make changes and to know what they subscribed to.

Agent's Problem

Agents need to go to various pages to see their subscriptions

They aren't aware that we have some services available, they don't know if they're paying for it or if their organization is paying for it, and they don't even know where to add their credit card.

Broker's Problem

Brokers pay on behalf of their entire organization

It's not clear how many agents they're paying for, what services they're paying for, and when their subscription cycle renews. Downloading invoices and viewing subscription history is also not discoverable.

Supra's Problem

We aren't charging failed payments

We don't have a dunning process so for those with failed payments (about 200), they can still use our services despite failing the payments monthly.

Goals

1

Consolidate subscriptions & improve discoverability

Everything subscriptions related should be easily discoverable and on the same page so that we can generate more revenue by marketing our services.

2

Users should be able to manage their subscriptions

Clearly show who's paying, what is subscribed, payment cycles and be able to make changes directly from the subscriptions hub.

3

Improve the checkout process

After auditing, I found that each subscription has a different checkout flow. We need to make the checkout flow consistent.

4

Introduce a dunning process

If a payment fails, what happens? How should agents & brokers be notified? When should features be disabled? We need to establish a process so that users are given enough time to change their payment method, but we are also able to stop their services.

Solution

After multiple rounds of iterations, stakeholder reviews with CS, Product, Engineering and Sales, we have a subscriptions hub that markets new services, allows users to manage existing services, and make changes to their payment method, all in one place.

Improved subscriptions & billing page

I updated the UI for the subscriptions page to show the billing cycle, payment method, and subscription services subscribed and available. We previously already had a documents and invoices section, so I just updated the downloadable content to include every service subscribed.

Notifying users in a timely manner

Many users use these emails as a confirmation but we were sending spam-looking emails in an untimely manner. I created emails that will be sent when users subscribe to a service, make changes to a service, cancels a service, or has an overdue payment, with a simple UI that is easily digestible and straight to the point.

One checkout flow for multiple services

All services are charged on the same billing date which means we may need to charge prorated fees. This adds the complication of the checkout flow since we need to clearly show what's being charged today and what is being charged later. Instead of 3 different checkout UIs, we now have the same UI regardless of what they subscribe to.

Each subscription has its own subscription details

They can see important information regarding their service and manage it accordingly. The subscription hub is the parent to all of our services. In the future when we add more, we can just add a card to the hub to be the starting point.

Day 1, 5 & 25 dunning process

Working closely with the Billings team, we established 3 major checkpoints for the dunning process. Day 1 the user is notified, they have 5 days before they are in collections and services are disabled. By day 25, we cancel their subscriptions so they don't stack payments on their credit card.

Responsive Web

Scalability

Prototyping

Giving agents autonomy in managing their subscriptions

Giving agents autonomy in managing their subscriptions

Creating a subscriptions hub so brokers and agents can see what they're subscribed to, how much they're paying, and manage their payment methods.

Creating a subscriptions hub so brokers and agents can see what they're subscribed to, how much they're paying, and manage their payment methods.

About

We previously used Stripe as our billing provider but we were unable to charge late fees or suspend accounts if they go unpaid. With Honeywell's acquisition, we are switching to their billing services provider, BillingPortal, which will allow us to track and charge for unpaid services. For our users, our subscription services were scattered all over the app, making it hard to configure their subscriptions. We have other subscription services being added in the future and a need to have a place to configure them all.

Timeline

Aug 2025 - Dec 2025

Team

1 Designer, 1 Software Engineer, 2 Product Managers

Short on time? Here's a quick summary of the project.

Problem

We're switching from Stripe to BillingPlatform as our billing provider. Agents and brokers need to be able to view and manage their own subscriptions and payment details. We currently have 3 subscription services and a billing page but they are hidden under listing and user setting. We are also not charging users for missed payments and not suspending services.

Solution

I created a subscriptions hub so that every service we provide can be managed here. When we add more services later on, we can easily add another card. Users can now see what they're subscribed to, their payment method and make changes directly from this hub. There is also a dunning process for missed payments, culminating with services being cancelled on day 25.

Impact

Since we were unable to detect miss payments, users can continue using services despite not paying. We were losing out on a couple thousand dollars per month. On top of having a process to collect outstanding fees, we also have a centralized location for users to subscribe to new features, leading to more revenue growth. This feature is newly implemented so we still need more time to get the exact growth %.

INTRODUCTION

Supra, Live Concierge, Brokerage plans

We currently offer 3 different subscriptions for Supra one but there isn't a centralized location to view and manage all 3 subscriptions. In fact, it's difficult to find these services and subscribe to them.

DISCOVERY

Remove Stripe, show subscriptions, modify billing details

The requirements seemed simple at first, just 3 major tasks. Removing stripe was a backend change so it didn't require much front end update. After diving deeper into the other two, I realized the information architecture of our subscription services needed work.

Everything is everywhere…

Supra, Live Concierge, and Brokerage plans were scattered everywhere. They each had their own pages hidden behind different parent pages. It wasn't easily discoverable and to manage the subscription, or even subscribe, required some digging. We had a billing and subscriptions page but the services weren't displayed there.

Responsive Web

Scalability

Strategy

Giving agents autonomy in managing their subscriptions

Giving agents autonomy in managing their subscriptions

Creating a subscriptions hub so brokers and agents can see what they're subscribed to, how much they're paying, and manage their payment methods.

Creating a subscriptions hub so brokers and agents can see what they're subscribed to, how much they're paying, and manage their payment methods.

About

We previously used Stripe as our billing provider but we were unable to charge late fees or suspend accounts if they go unpaid. With Honeywell's acquisition, we are switching to their billing services provider, BillingPortal, which will allow us to track and charge for unpaid services. For our users, our subscription services were scattered all over the app, making it hard to configure their subscriptions. We have other subscription services being added in the future and a need to have a place to configure them all.

Timeline

Aug 2025 - Dec 2025

Team

1 Designer, 1 Software Engineer, 2 Product Managers

Short on time? Here's a quick summary of the project.

Problem

We're switching from Stripe to BillingPlatform as our billing provider. Agents and brokers need to be able to view and manage their own subscriptions and payment details. We currently have 3 subscription services and a billing page but they are hidden under listing and user setting. We are also not charging users for missed payments and not suspending services.

Solution

I created a subscriptions hub so that every service we provide can be managed here. When we add more services later on, we can easily add another card. Users can now see what they're subscribed to, their payment method and make changes directly from this hub. There is also a dunning process for missed payments, culminating with services being cancelled on day 25.

Impact

Since we were unable to detect miss payments, users can continue using services despite not paying. We were losing out on a couple thousand dollars per month. On top of having a process to collect outstanding fees, we also have a centralized location for users to subscribe to new features, leading to more revenue growth. This feature is newly implemented so we still need more time to get the exact growth %.

INTRODUCTION

Supra, Live Concierge, Brokerage plans

We currently offer 3 different subscriptions for Supra one but there isn't a centralized location to view and manage all 3 subscriptions. In fact, it's difficult to find these services and subscribe to them.

INTRODUCTION

Supra, Live Concierge, Brokerage plans

We currently offer 3 different subscriptions for Supra one but there isn't a centralized location to view and manage all 3 subscriptions. In fact, it's difficult to find these services and subscribe to them.

DISCOVERY

Remove Stripe, show subscriptions, modify billing details

The requirements seemed simple at first, just 3 major tasks. Removing stripe was a backend change so it didn't require much front end update. After diving deeper into the other two, I realized the information architecture of our subscription services needed work.

Everything is everywhere…

Supra, Live Concierge, and Brokerage plans were scattered everywhere. They each had their own pages hidden behind different parent pages. It wasn't easily discoverable and to manage the subscription, or even subscribe, required some digging. We had a billing and subscriptions page but the services weren't displayed there.

DISCOVERY

Remove Stripe, show subscriptions, modify billing details

The requirements seemed simple at first, just 3 major tasks. Removing stripe was a backend change so it didn't require much front end update. After diving deeper into the other two, I realized the information architecture of our subscription services needed work.

Problem

It is difficult for agents and brokers to find the subscriptions they are subscribed to. How might we display subscription services so that it can be easy for our users to make changes and to know what they subscribed to.

Agent's Problem

Agents need to go to various pages to see their subscriptions

They aren't aware that we have some services available, they don't know if they're paying for it or if their organization is paying for it, and they don't even know where to add their credit card.

Broker's Problem

Brokers pay on behalf of their entire organization

It's not clear how many agents they're paying for, what services they're paying for, and when their subscription cycle renews. Downloading invoices and viewing subscription history is also not discoverable.

Supra's Problem

We aren't charging failed payments

We don't have a dunning process so for those with failed payments (about 200), they can still use our services despite failing the payments monthly.

Goals

1

Consolidate subscriptions & improve discoverability

Everything subscriptions related should be easily discoverable and on the same page so that we can generate more revenue by marketing our services.

2

Users should be able to manage their subscriptions

Clearly show who's paying, what is subscribed, payment cycles and be able to make changes directly from the subscriptions hub.

3

Improve the checkout process

After auditing, I found that each subscription has a different checkout flow. We need to make the checkout flow consistent.

4

Introduce a dunning process

If a payment fails, what happens? How should agents & brokers be notified? When should features be disabled? We need to establish a process so that users are given enough time to change their payment method, but we are also able to stop their services.

Solution

After multiple rounds of iterations, stakeholder reviews with CS, Product, Engineering and Sales, we have a subscriptions hub that markets new services, allows users to manage existing services, and make changes to their payment method, all in one place.

Improved subscriptions & billing page

I updated the UI for the subscriptions page to show the billing cycle, payment method, and subscription services subscribed and available. We previously already had a documents and invoices section, so I just updated the downloadable content to include every service subscribed.

Notifying users in a timely manner

Many users use these emails as a confirmation but we were sending spam-looking emails in an untimely manner. I created emails that will be sent when users subscribe to a service, make changes to a service, cancels a service, or has an overdue payment, with a simple UI that is easily digestible and straight to the point.

One checkout flow for multiple services

All services are charged on the same billing date which means we may need to charge prorated fees. This adds the complication of the checkout flow since we need to clearly show what's being charged today and what is being charged later. Instead of 3 different checkout UIs, we now have the same UI regardless of what they subscribe to.

Each subscription has its own subscription details

They can see important information regarding their service and manage it accordingly. The subscription hub is the parent to all of our services. In the future when we add more, we can just add a card to the hub to be the starting point.

Day 1, 5 & 25 dunning process

Working closely with the Billings team, we established 3 major checkpoints for the dunning process. Day 1 the user is notified, they have 5 days before they are in collections and services are disabled. By day 25, we cancel their subscriptions so they don't stack payments on their credit card.

Learnings and Impact

One of those projects where pushing for more scope was worth it

This project was originally suppose to be just a change in billing services, but as I explored more into the problem, I realized there were a lot of changes needed to be made that will satisfy this project's requirements, but also set ourselves up for success for some other projects on the pipeline. I pushed for the scope to grow but this comes with us being able to scale faster for subsequent projects. We also were able to make some improvements to existing UX/UI, which is something we're aiming to do as we improve our existing features.

Anita Ngo

2026

Anita Ngo

2026

Learnings and Impact

One of those projects where pushing for more scope was worth it

This project was originally suppose to be just a change in billing services, but as I explored more into the problem, I realized there were a lot of changes needed to be made that will satisfy this project's requirements, but also set ourselves up for success for some other projects on the pipeline. I pushed for the scope to grow but this comes with us being able to scale faster for subsequent projects. We also were able to make some improvements to existing UX/UI, which is something we're aiming to do as we improve our existing features.

Responsive Web

Scalability

Prototyping

Giving agents autonomy in managing their subscriptions

Creating a subscriptions hub so brokers and agents can see what they're subscribed to, how much they're paying, and manage their payment methods.

About

We previously used Stripe as our billing provider but we were unable to charge late fees or suspend accounts if they go unpaid. With Honeywell's acquisition, we are switching to their billing services provider, BillingPortal, which will allow us to track and charge for unpaid services. For our users, our subscription services were scattered all over the app, making it hard to configure their subscriptions. We have other subscription services being added in the future and a need to have a place to configure them all.

Timeline

Aug 2025 - Dec 2025

Team

1 Designer, 1 Software Engineer, 2 Product Managers

Short on time? Here's a quick summary of the project.

Problem

We're switching from Stripe to BillingPlatform as our billing provider. Agents and brokers need to be able to view and manage their own subscriptions and payment details. We currently have 3 subscription services and a billing page but they are hidden under listing and user setting. We are also not charging users for missed payments and not suspending services.

Solution

I created a subscriptions hub so that every service we provide can be managed here. When we add more services later on, we can easily add another card. Users can now see what they're subscribed to, their payment method and make changes directly from this hub. There is also a dunning process for missed payments, culminating with services being cancelled on day 25.

Impact

Since we were unable to detect miss payments, users can continue using services despite not paying. We were losing out on a couple thousand dollars per month. On top of having a process to collect outstanding fees, we also have a centralized location for users to subscribe to new features, leading to more revenue growth. This feature is newly implemented so we still need more time to get the exact growth %.

INTRODUCTION

Supra, Live Concierge, Brokerage plans

We currently offer 3 different subscriptions for Supra one but there isn't a centralized location to view and manage all 3 subscriptions. In fact, it's difficult to find these services and subscribe to them.

Everything is everywhere…

Supra, Live Concierge, and Brokerage plans were scattered everywhere. They each had their own pages hidden behind different parent pages. It wasn't easily discoverable and to manage the subscription, or even subscribe, required some digging. We had a billing and subscriptions page but the services weren't displayed there.

DISCOVERY

Remove Stripe, show subscriptions, modify billing details

The requirements seemed simple at first, just 3 major tasks. Removing stripe was a backend change so it didn't require much front end update. After diving deeper into the other two, I realized the information architecture of our subscription services needed work.

Problem

It is difficult for agents and brokers to find the subscriptions they are subscribed to. How might we display subscription services so that it can be easy for our users to make changes and to know what they subscribed to.

Agent's Problem

Agents need to go to various pages to see their subscriptions

They aren't aware that we have some services available, they don't know if they're paying for it or if their organization is paying for it, and they don't even know where to add their credit card.

Broker's Problem

Brokers pay on behalf of their entire organization

It's not clear how many agents they're paying for, what services they're paying for, and when their subscription cycle renews. Downloading invoices and viewing subscription history is also not discoverable.

Supra's Problem

We aren't charging failed payments

We don't have a dunning process so for those with failed payments (about 200), they can still use our services despite failing the payments monthly.

Goals

1

Consolidate subscriptions & improve discoverability

Everything subscriptions related should be easily discoverable and on the same page so that we can generate more revenue by marketing our services.

2

Users should be able to manage their subscriptions

Clearly show who's paying, what is subscribed, payment cycles and be able to make changes directly from the subscriptions hub.

3

Improve the checkout process

After auditing, I found that each subscription has a different checkout flow. We need to make the checkout flow consistent.

4

Introduce a dunning process

If a payment fails, what happens? How should agents & brokers be notified? When should features be disabled? We need to establish a process so that users are given enough time to change their payment method, but we are also able to stop their services.

Problem

It is difficult for agents and brokers to find the subscriptions they are subscribed to. How might we display subscription services so that it can be easy for our users to make changes and to know what they subscribed to.

Agent's Problem

Agents need to go to various pages to see their subscriptions

They aren't aware that we have some services available, they don't know if they're paying for it or if their organization is paying for it, and they don't even know where to add their credit card.

Broker's Problem

Brokers pay on behalf of their entire organization

It's not clear how many agents they're paying for, what services they're paying for, and when their subscription cycle renews. Downloading invoices and viewing subscription history is also not discoverable.

Supra's Problem

We aren't charging failed payments

We don't have a dunning process so for those with failed payments (about 200), they can still use our services despite failing the payments monthly.

Goals

1

Consolidate subscriptions & improve discoverability

Everything subscriptions related should be easily discoverable and on the same page so that we can generate more revenue by marketing our services.

2

Users should be able to manage their subscriptions

Clearly show who's paying, what is subscribed, payment cycles and be able to make changes directly from the subscriptions hub.

3

Improve the checkout process

After auditing, I found that each subscription has a different checkout flow. We need to make the checkout flow consistent.

4

Introduce a dunning process

If a payment fails, what happens? How should agents & brokers be notified? When should features be disabled? We need to establish a process so that users are given enough time to change their payment method, but we are also able to stop their services.

Solution

After multiple rounds of iterations, stakeholder reviews with CS, Product, Engineering and Sales, we have a subscriptions hub that markets new services, allows users to manage existing services, and make changes to their payment method, all in one place.

Improved subscriptions & billing page

I updated the UI for the subscriptions page to show the billing cycle, payment method, and subscription services subscribed and available. We previously already had a documents and invoices section, so I just updated the downloadable content to include every service subscribed.

Notifying users in a timely manner

Many users use these emails as a confirmation but we were sending spam-looking emails in an untimely manner. I created emails that will be sent when users subscribe to a service, make changes to a service, cancels a service, or has an overdue payment, with a simple UI that is easily digestible and straight to the point.

One checkout flow for multiple services

All services are charged on the same billing date which means we may need to charge prorated fees. This adds the complication of the checkout flow since we need to clearly show what's being charged today and what is being charged later. Instead of 3 different checkout UIs, we now have the same UI regardless of what they subscribe to.

Each subscription has its own subscription details

They can see important information regarding their service and manage it accordingly. The subscription hub is the parent to all of our services. In the future when we add more, we can just add a card to the hub to be the starting point.

Day 1, 5 & 25 dunning process

Working closely with the Billings team, we established 3 major checkpoints for the dunning process. Day 1 the user is notified, they have 5 days before they are in collections and services are disabled. By day 25, we cancel their subscriptions so they don't stack payments on their credit card.

Solution

After multiple rounds of iterations, stakeholder reviews with CS, Product, Engineering and Sales, we have a subscriptions hub that markets new services, allows users to manage existing services, and make changes to their payment method, all in one place.

Improved subscriptions & billing page

I updated the UI for the subscriptions page to show the billing cycle, payment method, and subscription services subscribed and available. We previously already had a documents and invoices section, so I just updated the downloadable content to include every service subscribed.

Notifying users in a timely manner

Many users use these emails as a confirmation but we were sending spam-looking emails in an untimely manner. I created emails that will be sent when users subscribe to a service, make changes to a service, cancels a service, or has an overdue payment, with a simple UI that is easily digestible and straight to the point.

One checkout flow for multiple services

All services are charged on the same billing date which means we may need to charge prorated fees. This adds the complication of the checkout flow since we need to clearly show what's being charged today and what is being charged later. Instead of 3 different checkout UIs, we now have the same UI regardless of what they subscribe to.

Each subscription has its own subscription details

They can see important information regarding their service and manage it accordingly. The subscription hub is the parent to all of our services. In the future when we add more, we can just add a card to the hub to be the starting point.

Day 1, 5 & 25 dunning process

Working closely with the Billings team, we established 3 major checkpoints for the dunning process. Day 1 the user is notified, they have 5 days before they are in collections and services are disabled. By day 25, we cancel their subscriptions so they don't stack payments on their credit card.