From Shopify dependency to workflow control

From Shopify dependency to workflow control

PROJECT

Virgio checkout

TIMELINE

2 Weeks

MY ROLE

Research+Design

TEAM

Solo designer. PM. Engineer

PROJECT

Virgio checkout

TIMELINE

2 Weeks

MY ROLE

Research+Design

TEAM

Solo designer. PM. Engineer

BEFORE

AFTER

BEFORE

AFTER

BEFORE

AFTER

+2.68%

conversion uplift

Reached 76.7% overall

25.7%

Faster Checkout

Avg time dropped to ~2 mins

94%

Address success

Normal flow, step completed

55.7%

Map recovery

Backed out then returned

THE PROBLEM

Platform limitations surfaced under peak load

  • During high-traffic events (specifically our sale event), the checkout had to make multiple API calls per user session.

  • Shopify’s rate limits surfaced which meant after a certain threshold, calls were throttled.

  • Resulting in slower responses and occasional instability during peak load.

It exposed a deeper constraint for business..

We were building on infrastructure we didn’t fully control and checkout is a performance-sensitive and a revenue critical touch point in a user’s journey, hence we chose checkout as the first migration step

OBSERVATIONS

But why shopify became a bottleneck?

SYSTEM

Rate Limits

Peak load . API throttled

Checkout slows+ destabalises

EXPERIENCE

Limited UI Control

No brand Alignment

Hard to iterate key flows

OBSERVABILITY

No Funnel Data

Drop-offs invisible

Cannot iterate without data

BUSINESS RISK

No Infrastructure Control

Revenue critical touchpoint

User Problem

Business problem

Users wanted a fast and seamless checkout experience, especially during high-traffic events. However, during peak demand, the flow felt slower and less responsive, creating hesitation at the most critical moment of purchase.

DESIGN DIRECTION

How I approached redesigning checkout..

GOALS

#1

Minimise drop-off at the most critical step in the purchase journey

#2

Reduce friction and cognitive load during payment selection

#3

Make the path from selection to confirmation as short as possible

We started with asking..

What actually matters to the users when they're at checkout

  • What's the total?

  • When will it arrive?

  • Are there any discounts?

So we had 2 essential parts of the checkout to look at

  1. Address selection

  2. Payment method selection

  1. Address flow

After

Previous screen

The moment a user selects an address, estimated delivery updates, making the consequence of their selection visible instantly.

Addresses are presented as scannable cards which are prominent enough to read quickly

Adding new address

In most cases, user addresses are automatically fetched from Shiprocket after login. However, in rare cases any of the addresses might not be available at all


To handle this, we prompt users to add a new address before continuing, while keeping the payment payment CTA disabled until a valid address is added.

Improving accuracy with map-based address entry

Instead of relying entirely on manual typing, the new address flow uses map-based location selection.


Users can search for a location, place a pin, and the form is auto-filled with the detected address, reducing typing effort while capturing a more precise delivery location.

Designing safeguards for location accuracy

we accounted for scenarios where users might try to proceed without confirming their location.

  1. Location Mismatch

When the map pin is moved away from the searched address, a nudge alerts the user to re-align the pin with the actual location before proceeding.

  1. Location Unserviceable

If the selected location falls outside the delivery area, a nudge informs the user that delivery isn’t available for this address & CTA also becomes disabled.

  1. Payments selection

Final Design

Exploration 3

Exploration 2

Exploration 1

The final one brought all together

The final structure builds on previous insight without adding extra steps.


  • A user could see what they were paying, how they were paying it,

  • confirms in one continuous glance downward.

Credits and gift cards appear first so users can adjust the payable amount before committing to a payment method.

That's a wrap!

As a result we saw the following

As a result we saw the following

+2.68% increase

+2.68% increase

In checkout conversion

In checkout conversion, which reached to 76.7%

25.7% faster

25.7% faster

checkout completion, average time to convert dropped to ~2 minutes

checkout completion, average time to convert dropped to ~2 minutes

94% address completion success

94% address completion success

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

55% recovery after drop-offs

55% recovery after drop-offs

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

THE PROBLEM

Platform limitations surfaced under peak load

  • During high-traffic events (specifically our sale event), the checkout had to make multiple API calls per user session.

  • Shopify’s rate limits surfaced which meant after a certain threshold, calls were throttled.

  • Resulting in slower responses and occasional instability during peak load.

You're seeing a preview👀!

You're seeing a preview👀!

For a better reading experience view it on desktop :)

For a better reading experience view it on desktop :)

As a result we saw the following

+2.68% increase in checkout conversion rate

Checkout conversion reached 76.7%

25.7% faster checkout completion

Average time to convert dropped to ~2 minutes, making the new checkout significantly faster

94% address completion success

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

55% recovery after drop-offs

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

From Shopify dependency to workflow control

From Shopify dependency to workflow control

PROJECT

Virgio checkout

TIMELINE

2 Weeks

MY ROLE

Research+Design

TEAM

Solo designer. PM. Engineer

PROJECT

Virgio checkout

TIMELINE

2 Weeks

MY ROLE

Research+Design

TEAM

Solo designer. PM. Engineer

BEFORE

AFTER

BEFORE

AFTER

BEFORE

AFTER

+2.68%

conversion uplift

Reached 76.7% overall

25.7%

Faster Checkout

Avg time dropped to ~2 mins

94%

Address success

Normal flow, step completed

55.7%

Map recovery

Backed out then returned

THE PROBLEM

Platform limitations surfaced under peak load

  • During high-traffic events (specifically our sale event), the checkout had to make multiple API calls per user session.

  • Shopify’s rate limits surfaced which meant after a certain threshold, calls were throttled.

  • Resulting in slower responses and occasional instability during peak load.

It exposed a deeper constraint for business..

We were building on infrastructure we didn’t fully control and checkout is a performance-sensitive and a revenue critical touch point in a user’s journey, hence we chose checkout as the first migration step

OBSERVATIONS

But why shopify became a bottleneck?

SYSTEM

Rate Limits

Peak load . API throttled

Checkout slows+ destabalises

EXPERIENCE

Limited UI Control

No brand Alignment

Hard to iterate key flows

OBSERVABILITY

No Funnel Data

Drop-offs invisible

Cannot iterate without data

BUSINESS RISK

No Infrastructure Control

Revenue critical touchpoint

User Problem

Business problem

Users wanted a fast and seamless checkout experience, especially during high-traffic events. However, during peak demand, the flow felt slower and less responsive, creating hesitation at the most critical moment of purchase.

DESIGN DIRECTION

How I approached redesigning checkout..

GOALS

#1

Minimise drop-off at the most critical step in the purchase journey

#2

Reduce friction and cognitive load during payment selection

#3

Make the path from selection to confirmation as short as possible

We started with asking..

What actually matters to the users when they're at checkout

  • What's the total?

  • When will it arrive?

  • Are there any discounts?

So we had 2 essential parts of the checkout to look at

  1. Address selection

  2. Payment method selection

  1. Address flow

After

Previous screen

The moment a user selects an address, estimated delivery updates, making the consequence of their selection visible instantly.

Addresses are presented as scannable cards which are prominent enough to read quickly

Adding new address

In most cases, user addresses are automatically fetched from Shiprocket after login. However, in rare cases any of the addresses might not be available at all


To handle this, we prompt users to add a new address before continuing, while keeping the payment payment CTA disabled until a valid address is added.

Improving accuracy with map-based address entry

Instead of relying entirely on manual typing, the new address flow uses map-based location selection.


Users can search for a location, place a pin, and the form is auto-filled with the detected address, reducing typing effort while capturing a more precise delivery location.

Designing safeguards for location accuracy

we accounted for scenarios where users might try to proceed without confirming their location.

  1. Location Mismatch

When the map pin is moved away from the searched address, a nudge alerts the user to re-align the pin with the actual location before proceeding.

  1. Location Unserviceable

If the selected location falls outside the delivery area, a nudge informs the user that delivery isn’t available for this address & CTA also becomes disabled.

  1. Payments selection

Final Design

Exploration 3

Exploration 2

Exploration 1

The final one brought all together

The final structure builds on previous insight without adding extra steps.


  • A user could see what they were paying, how they were paying it,

  • confirms in one continuous glance downward.

Credits and gift cards appear first so users can adjust the payable amount before committing to a payment method.

That's a wrap!

As a result we saw the following

As a result we saw the following

+2.68% increase

+2.68% increase

In checkout conversion

In checkout conversion, which reached to 76.7%

25.7% faster

25.7% faster

checkout completion, average time to convert dropped to ~2 minutes

checkout completion, average time to convert dropped to ~2 minutes

94% address completion success

94% address completion success

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

55% recovery after drop-offs

55% recovery after drop-offs

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

THE PROBLEM

Platform limitations surfaced under peak load

  • During high-traffic events (specifically our sale event), the checkout had to make multiple API calls per user session.

  • Shopify’s rate limits surfaced which meant after a certain threshold, calls were throttled.

  • Resulting in slower responses and occasional instability during peak load.

You're seeing a preview👀!

You're seeing a preview👀!

For a better reading experience view it on desktop :)

For a better reading experience view it on desktop :)

As a result we saw the following

+2.68% increase in checkout conversion rate

Checkout conversion reached 76.7%

25.7% faster checkout completion

Average time to convert dropped to ~2 minutes, making the new checkout significantly faster

94% address completion success

Among users who followed the normal address flow, 94% successfully saved their address and continued checkout.

55% recovery after drop-offs

Even when users backed out of the map step, 55.7% returned and completed the address form,


indicating the new map interface caused only temporary hesitation rather than a blocker.

Create a free website with Framer, the website builder loved by startups, designers and agencies.