Basket & Checkout Redesign

Designing a scalable multi-card, multi-address checkout experience.

Executive Summary
Thortful is a card marketplace where customers can buy multiple cards in a single order and send each one to a different person, address and delivery date. As this behaviour became more common as the business grew, the existing basket and checkout experience struggled to support these complex scenarios clearly, leading to user confusion, checkout errors and a growing volume of Customer Support issues. I led the redesign of the basket and checkout across web and mobile, focusing on clarity, scalability and ease of use, with the goal of supporting even the most complex gifting journeys while keeping the experience intuitive and fast. The result was a smoother checkout experience and a robust foundation to support Thortful’s continued growth and future product expansion.

Role: Head of UX/UI
Platform:  Web · Mobile app
Focus: Ecommerce checkout · Multi-card, multi-address flows · Reducing friction and cognitive load · Scalable system design

Context

Thortful’s core value proposition goes beyond buying a single card and sending it to a single address. From early on, the business was built around gifting at scale: buying multiple cards in one order and sending them to different people, at different addresses, often for different occasions and delivery dates.

When I joined Thortful, the company was growing quickly, moving from selling very few cards to handling a much higher volume of orders. As this growth accelerated, new customer behaviours began to emerge. Although the existing basket and checkout had been designed to support multi-card and multi-address gifting, it became clear that users were struggling with specific steps in the journey as order complexity increased.

These issues surfaced most clearly through Customer Support. Customers regularly became confused when managing multiple recipients, different delivery addresses, and delivery dates. Calendars, address assignment, and understanding which card was going to which recipient were frequent points of friction. Although the overall experience appeared functional on the surface, users repeatedly got stuck at the same moments in the basket and checkout flow.

The basket quickly became one of the most critical parts of the product. Even when the rest of the app experience worked well, users were unable to complete their purchase if this part of the journey broke down. For an e-commerce business built around complex gifting scenarios, this was a significant risk to conversion, customer trust, and the ability to scale the product offering over time.

Why this was challenging

Designing this basket and checkout experience was fundamentally different from a standard e-commerce flow. Most checkouts are built around a simple mental model: one order, one delivery address, one delivery date. Thortful’s gifting model broke that assumption from the start.

A single order could contain multiple cards, each intended for a different recipient, sent to different addresses and often scheduled for different delivery dates. This meant that key delivery steps were not linear. Address selection, delivery dates and confirmations repeated per card, creating a highly dynamic journey that was easy for users to lose track of.

As order complexity increased, users frequently struggled to understand which card was going to which person, on what date, and to which address. Small moments of uncertainty quickly compounded into confusion, especially when managing several cards at once. The risk was not just friction, but users abandoning the flow entirely because they no longer felt confident about what they were about to send.

From a business perspective, this complexity had a direct impact. Customer Support volumes increased significantly around multi-card and multi-address purchases, and small errors in the basket created costly operational issues downstream. At the same time, the business needed a solution that did not limit flexibility, as gifting multiple cards to multiple people was a core part of Thortful’s value proposition and future growth.

The challenge was clear: design a checkout system capable of handling a highly complex set of delivery scenarios, while making the experience feel simple, predictable and safe for users. Reducing cognitive load without removing flexibility became the central design problem to solve.

What we heard from users

As order complexity increased, the same issues began surfacing repeatedly through Customer Support tickets and direct conversations with customers.

People were not struggling with buying a card. They were struggling with managing who each card was for, where it was going, and when it would arrive once multiple recipients were involved.

Customer Support consistently highlighted recurring problems such as:

  • Users losing track of which card was assigned to which recipient

  • Confusion around delivery addresses when sending multiple cards in a single order

  • Uncertainty about delivery dates, especially when cards were meant to arrive on different occasions

  • Mistakes that only became apparent after checkout, leading to cancellations, refunds, or manual intervention from Customer Support

To understand these issues more deeply, I worked closely with the Customer Support team while also running user testing and observational research. I invited customers into the office and sat next to them as they completed real purchase sessions, observing how they managed complex orders involving multiple cards, recipients, and delivery dates.

Even confident users hesitated, backtracked, and second guessed themselves when assigning addresses and delivery dates. The mental effort required to keep track of several cards at once was simply too high.

Another recurring source of confusion was delivery timing. Depending on weekends or postal cut offs, some cards were intentionally delivered earlier than the actual occasion. To support this, the product included a “Don’t open until” label, allowing recipients to understand when a card was meant to be opened.

In practice, many users either missed this option or were unsure when to apply it. As a result, cards sometimes arrived earlier than expected without clear guidance, creating awkward experiences for recipients and frustration for senders. This issue appeared frequently in Customer Support conversations and highlighted how easily delivery intent could be lost during checkout.

A key insight emerged quickly: the problem was not a lack of flexibility, but a lack of clarity and reassurance.

Users needed to feel confident that every card was going to the right person, at the right address, on the right date, without having to hold all that information in their head at once.

This made it clear that improving the basket and checkout experience was not about adding more options, but about reducing cognitive load and making the journey feel predictable, transparent, and safe, even in the most complex gifting scenarios.

User observation and collaborative workshops helped surface where users were losing confidence during complex checkout flows

The goal

The goal of this project was to make a highly complex gifting journey feel simple, predictable, and safe, without removing flexibility.

For users, success meant being able to buy multiple cards in one order and send each one to the right person, at the right address, on the right date, without confusion or second guessing.

For the business, success meant reducing checkout friction and enabling Thortful to scale its gifting model confidently as order complexity and product breadth increased.

For the system, success meant designing a basket and checkout flow that could support multiple cards, recipients, addresses, and delivery dates in a clear and scalable way, without breaking as new products and use cases were introduced.

In short, the challenge was not to simplify the business model, but to design a checkout experience that could handle its full complexity while still feeling effortless to use.

Design principles (North stars)

To navigate the complexity of multi-card, multi-address gifting without losing clarity, I anchored all design decisions around a small set of guiding principles.

These principles helped the team move fast without compromising usability, and ensured the basket could scale as the product and catalogue grew.

Clarity over flexibility

Flexibility was essential, but never at the cost of understanding. Users needed to clearly see which card was going to which person, address, and delivery date at every step of the journey.

One decision at a time

The flow was designed to reduce cognitive load by guiding users through decisions sequentially, rather than asking them to manage multiple variables at once.

Make complexity feel simple

While the underlying system was complex, the experience had to feel predictable and easy to follow. The goal was not to remove complexity, but to hide it behind a clear and structured flow.

The basket must never be the blocker

No matter how good the rest of the experience was, users had to be able to complete their purchase with confidence. The basket and checkout could not be the point where users dropped off.

Confidence over speed

Moving fast only mattered if users felt sure they were doing the right thing. The experience prioritised reassurance and clarity so users could proceed without second-guessing themselves.

Although the checkout appears linear, delivery decisions repeat per card. The challenge was making this complexity feel simple and predictable.

The focus scenario

The basket and checkout needed to support a wide range of gifting scenarios from the very start. This was never a simple “buy one item, send to one address” experience.

Customers could be new or returning. They might be buying a single card for themselves, sending one card directly to someone else, or purchasing multiple cards in a single order. Cards could be sent to the same address or to different recipients, often scheduled for different occasions and delivery dates. Some orders also included gifts alongside cards, adding another layer of complexity to the journey.

All of these scenarios had to work seamlessly within the same basket and checkout system. I designed flows to support each of them, ensuring the experience remained coherent regardless of who the customer was, how many items they were buying, or where those items were being sent.

For the purpose of this case study, however, I am focusing on the most complex scenario we designed for: a single customer buying multiple cards and gifts in one order, each sent to a different recipient, at different addresses, and scheduled for different delivery dates.

This scenario brought all the underlying challenges together in one journey. Delivery steps repeated per card, decisions were no longer linear, and the risk of losing track of who each card was for increased significantly.

By solving this scenario well, we ensured the basket and checkout system could comfortably support every simpler use case. If the experience worked clearly and confidently here, it would scale naturally across all other gifting scenarios.

Designing the checkout flow

With the focus scenario defined, the next step was to translate this complexity into a clear and structured checkout experience.

The basket and checkout needed to support a wide spectrum of use cases, from a customer buying a single card and sending it to one address, to someone purchasing dozens of cards and gifts in a single order, each sent to different people, at different addresses, and on different delivery dates.

Rather than designing separate flows for simple and complex orders, I focused on creating one flexible system that could scale effortlessly. The same checkout needed to feel fast and lightweight for small orders, while remaining clear and manageable as order complexity increased.

To achieve this, the checkout was structured around cards as the primary unit. Delivery decisions such as recipient, address, delivery date and gifting intent were handled per card, allowing these steps to repeat where needed without breaking the overall journey.

The checkout flow

The final checkout flow was designed to support both simple and highly complex orders within the same structure.

From the basket, users progress through a clear sequence of steps that repeat per card when needed. For each card, they select the recipient, address and delivery date, before moving on to the next item in the order.

Throughout the journey, the full order remains visible, allowing users to understand what has already been completed and what still needs attention. This helped prevent users from losing track of who each card was for, even as the number of items increased.

By combining a card-by-card structure with a persistent overview of the order, the checkout remained predictable and easy to follow, regardless of how many cards or gifts were included.

1. Checkout flow overview

A high-level view of the end-to-end checkout structure, showing how delivery steps repeat per card while the overall journey remains coherent.

2. Wireframes (low & high fidelity)

Early low and high fidelity wireframes used to explore layout, hierarchy and interaction patterns before moving into final UI design.

3. Multi-card checkout flow (complex scenario)

A detailed flow illustrating how the system scales when a single customer sends multiple cards to different recipients, addresses and delivery dates.

4. Key screens from the final experience

Selected screens highlighting the most critical moments in the checkout, shown in context within the final mobile experience.

Outcome

The redesigned basket and checkout flow made complex gifting journeys feel clear, calm and confident. Users were able to move through the checkout smoothly, even when sending multiple cards to different recipients on different dates.

By structuring the experience around one card at a time, while keeping the full order visible throughout, the checkout became easier to follow and more predictable. This allowed users to focus on choosing and sending their cards without second guessing delivery details or their progress through the flow.

As a result, checkout conversion increased significantly and complaints related to delivery options were largely eliminated. Customers consistently described the new flow as easy and intuitive, while the improved clarity around addresses and delivery dates led to a substantial reduction in delivery related queries reaching Customer Support. Together, these improvements contributed to a smoother purchasing experience, higher user confidence and consistently strong app reviews.

Recognition

This work was part of a broader effort to improve clarity, usability and trust across the product.

Together with many other features and improvements, it contributed to Thortful being featured as App of the Day in 2019 and 2020.

In the years that followed, the app continued to receive consistently strong user feedback, with reviews frequently highlighting how easy and intuitive the experience feels, reflected in a 4.9 out of 5 App Store rating.

Previous
Previous

Birda Photo ID (AI Bird Identification)

Next
Next

Thortful Postcards Creation Experience