Case study 02 · Bakery website redesign

Ordering cupcakes for an event, made quick and confident

Fresh cupcakes, ordered in minutes.

RoleUX and UI designer
Timeline2 months, with a team
ProjectRedesign
ToolsFigma and FigJam
01 · The project

Toronto Cupcakes

Small-batch cupcakes for every celebration in Toronto and the GTA.

Toronto Cupcakes is a local bakery selling handmade cupcakes, celebration cakes and gift boxes online, with delivery across Toronto and the GTA. Customers order for birthdays, office celebrations, weddings and holidays, often for a specific day and time. The business earns its revenue from direct online orders, custom orders and corporate gifting.

View prototype ↗

Toronto Cupcakes · Homepage prototypeOpen in Figma ↗
The full redesigned Toronto Cupcakes homepage, scrolling from the hero to the footer

The redesigned homepage prototype, scrolling top to bottom

02 · Role

My part

I worked on this project for two months as the UX and UI designer, collaborating with my team throughout. I contributed to the research, card sorting and information architecture, and designed the final UI, design system and clickable prototype in Figma and FigJam.

The problem

The original site was hard to scan: inconsistent spacing, unclear categories, a confusing cart, and a checkout with errors in the totals.

The goal

Help busy Torontonians like Shirin find the right cupcakes, pick a delivery time and pay — in a few clear steps.

What I did

Card sorting · Site map · Persona & scenario · User & task flows · Sketches · Wireframes · Design system · Final UI · Clickable prototype

The redesign

What was broken

Toronto Cupcakes already had a website, and our task was to redesign it. The existing site was hard to scan: spacing and fonts were inconsistent (ten font families on one page), categories were unclear, and the checkout showed a total that did not match the cart. The redesign had to cover browsing cupcakes, custom orders, corporate gifting and occasions, plus a clear cart and checkout with a chosen delivery day and time.

Typography10

font families on one page, with inconsistent spacing that made it hard to scan.

Checkout$6.78 $9.04

The checkout button showed one amount while the total showed another.

Navigation?

Categories were unclear, so people couldn't tell where to find what they needed.

03 · Process

Eleven steps, research to next steps

  1. 01Research
  2. 02Card sorting
  3. 03Site map
  4. 04User flow
  5. 05Task flow
  6. 06Sketches
  7. 07Wireframes
  8. 08Design system
  9. 09Final UI
  10. 10Purchase flow
  11. 11Next steps
Double Diamond

Double Diamond

I used the Double Diamond framework to move from understanding how people group bakery content to delivering a focused ordering experience.

Phase 1

Discover

I surveyed 50 people and interviewed 15 who order cupcakes for events to learn how they shop. I used what they told me to build an open card sort, and to write a persona and scenario around a time-sensitive event order.

Phase 2

Define

I turned the card-sort groups and participants' naming notes into a site map, and chose five top-level navigation items: Menu, Cupcakes, Custom Cupcakes, Corporate and Occasions.

Phase 3

Develop

I mapped Shirin's user flow and a detailed task flow, sketched on paper, then built low-fidelity wireframes and a first round of pink mockups.

Phase 4

Deliver

I built a token-based design system, redesigned every page in a Bakery Classic style, and linked a six-screen purchase flow into a clickable prototype.

04 · Research

Research

Instead of a competitive analysis, I started with the people who order: I ran interviews and a survey, then turned what they told me into an open card sort to learn how they expect a bakery site to be organized.

Interviews & survey

People who order cupcakes for events

Discover / Research
50People surveyed
15People interviewed
11Card-sort groups
What I asked about
01
Ordering for events

How they order cupcakes for birthdays, offices and family gatherings.

02
Choosing flavours

How they pick flavours for a group.

03
Dietary needs

Which needs they plan around, like gluten-free, vegan or nut-free.

04
Checkout frustrations

What goes wrong when they pay and choose delivery.

Their answers shaped the persona, the scenario and the content cards for the card sort.

05 · Persona & scenario

Who we are designing for, and the job she needs done

Shirin

32 · Toronto · Personal banker
Tech level Comfortable shopping on mobile & desktop

Shirin lives and works in Toronto. With a busy, structured schedule she often orders cupcakes online for birthdays, office celebrations and family gatherings. She prefers quick, reliable online shopping and values clarity and efficiency — especially when ordering for time-sensitive events.

Goals
  • Order for an event in minutes
  • Choose an exact delivery day & time
  • Cater to guests' dietary needs
Frustrations
  • Unclear categories & prices
  • Surprise costs at checkout
  • Not knowing if the order is on time
Scenario

Shirin is having guests tomorrow. While setting the time with them, she asks whether they'd like cupcakes from the Toronto Cupcakes website. The guests love the idea — each mentions a favourite flavour or a dietary need. Shirin visits the website. From Cupcakes she orders two chocolate, one gluten-free lemon and one vanilla cupcake. She picks tomorrow for delivery and pays. After the confirmation message, she checks her order once more to make sure everything is right and to see its status. Then she logs out.

Needs pulled from the scenario
Mixed flavours in one orderDietary filter: gluten-freeNext-day delivery slotClear total before payingOrder status after paying
06 · Card sorting

Open card sort

Using the content and wording from the interviews and survey, I ran an open card sort. Participants grouped the site's content into their own categories. Cleaned-up results (typos fixed, duplicates merged) — then the insights that shaped the navigation.

Open card sort

11 groups created by participants · scroll to watch them settle

Define
Cupcakes
Red velvetVanillaChocolateCustomizable4 pack sizes, different prices
Flavours
Various flavoursRed velvetVanillaChocolateCustomizable
Dietary restrictions
Gluten-freeVeganNut-free
Price
Filter by price4 pack sizes, different prices
Filter / sort
Most popularBest sellersFilter by priceFilter: gluten-freePrice per packPick your pack sizeEasy to order
Cart
VanillaChocolateRed velvetHoney RussianPlacing an orderCart / basket
Occasions
BirthdaysWeddingsCelebrations
Corporate
Branded eventsLogo cupcakes
Help & info
FAQCommunityResourcesUseful information
Contact
Contact us
About
About us
Participants' naming notes
Community + FAQ + Resources + Help feel the same — keep only “Help & info”
“Corporate” = branded events & logo cupcakes
“Occasions” = birthdays, weddings, celebrations
Cupcakes: holiday & seasonal specials
Cupcakes: special event / limited edition
Delivery = shipping & service area
Ordering = how to order, cart & checkout
Home / Welcome
Key insights

What the card sort told me

01
Merge help content

Community, FAQ, Resources and Help overlap → one “Help & Info” area.

02
Two ways to browse

People group by flavour and by dietary need → listing needs flavour and diet filters.

03
Packs & price matter

Pack size and price per pack came up repeatedly → show pack options on the product page.

04
Distinct destinations

Corporate and Occasions were always separate groups → top-level nav items.

05
Seasonal is its own thing

Holiday / limited-edition cupcakes need their own grouping.

07 · Information architecture

Site map & navigation

Card-sort groups became the site map. The final navigation keeps five top-level items; delivery, help, about and policies moved to the footer, so the header stays short.

Home
Menu
Price listCakesBoxes & giftsExtras
Cupcakes
All cupcakesClassicsBest sellersVeganGluten-freeSeasonal / limitedSubscription
Custom Cupcakes
Choose flavourChoose frostingToppingsSubmit request
Corporate
Branded eventsLogo cupcakesEvent displaysGet a quote
Occasions
BirthdaysWeddingsEngagementsAnniversariesBaby showersGraduationsHolidaysTheme & wrap parties
Order
CartDelivery date & timePaymentConfirmationOrder status
Footer
Delivery areasHelp & FAQAbout usPrivacy policyCupcake policyContact
Final navigation (as designed)
Toronto CupcakesMenuCupcakesCustom CupcakesCorporateOccasions⌕ ◯
08 · User flow

Shirin's happy path

The scenario as a linear flow — from landing on the site to checking her order status.

  1. Start
  2. Home page
  3. Navigate to Cupcakes
  4. Cupcake listing
  5. Select 2 chocolate, 1 vanilla, 1 GF lemon
  6. Add to cart
  7. Cart
  8. Checkout
  9. Delivery date
  10. Payment
  11. Order confirmation
  12. My order (status)
  13. Exit / log out
09 · Task flow

Ordering a mixed box

Every click and decision Shirin makes. Diamonds are decisions — YES continues adding, NO moves on to checkout.

Home pageAll cupcakesChoose flavourTap + to addAdd another? View cartPick delivery dateGuest or sign in?Add address and email Review orderPay nowOrder successCheck order status yesnoguestsign in

Loops: each “Want more?” → YES returns to Choose a flavour; “Add another?” → NO goes to Checkout. “Guest or sign in?” → Guest continues; Sign in skips the address and email steps.

10 · Sketches

Paper sketches

Quick explorations of the homepage, listing, product and checkout before moving to Figma.

Paper sketch of the homepage
Paper sketch of the cupcake listing
Paper sketch of the product page
Paper sketch of the checkout
11 · Wireframe & redesign

From wireframe to redesign

After the sketches I built a low-fidelity wireframe of the homepage, then redesigned every page. Each board puts the original torontocupcake.com page beside the redesign, with notes on what changed and why.

Low-fidelity homepage wireframe
Homepage wireframe
01 · Cupcakes page · full page

One header instead of seven logos and a hamburger, filter chips, large photography with one Add button, “Build a box”, and a dark footer.

Toronto Cupcakes Cupcakes page · full page: before (torontocupcake.com) and after (redesign) with annotations
02 · Header and intro

A delivery promise strip and one header with five sections, search, account and cart; a breadcrumb, a title and one sentence that explains the offer.

Toronto Cupcakes Header and intro: before (torontocupcake.com) and after (redesign) with annotations
03 · Product grid

24 tiny cut-out photos with QTY fields became eight flavours with large photos, a one-line description, the price and a single Add button.

Toronto Cupcakes Product grid: before (torontocupcake.com) and after (redesign) with annotations
04 · Dozen → Build a box

“One Dozen One Click” at the top became “Can’t decide? Build a box” after the flavours, with two clear price points.

Toronto Cupcakes Dozen → Build a box: before (torontocupcake.com) and after (redesign) with annotations

Five things I fixed from the first prototype

Crowded header

The logo, a large title, the nav bar and the icons sat on three separate rows, pushing the products below the fold.

Inconsistent spacing

Cards and columns were placed by hand, so edges drifted a few pixels from screen to screen.

Too many fonts

Ten font families and thirteen sizes, and the decorative heading font was hard to read at small sizes.

Checkout errors

The checkout button showed $6.78 while the total was $9.04, and the two-item cart and checkout disagreed.

Copy issues

Labels like YOUR CARD and VIEW CARD meant cart, and CUSTOME CUPCAKES was misspelled.

12 · Design system

Tokens, not guesses

To fix the inconsistencies from the first prototype, I built the design on Figma variables instead of hand-picked values. Because every screen uses these tokens, changing the brand direction later updates the whole site at once.

Colour primitives → semantic tokens
Espresso
Crimson
Latte
Pink
Honey

Primitives feed semantic tokens such as background, action, text and border, plus a see-through scrim so photos stay visible under dark bands.

Type · 2 fonts instead of 10 · 11 styles
Red Velvet ClassicManrope for body text, buttons and labels. Playfair Display for headings.
Spacing · 4-point scale

80px page margins, a 24px gutter and a small radius scale for a classic bakery feel.

12 shared components
Site HeaderSite FooterButtonChipQuantity StepperProduct CardMenu ItemCart Line ItemText FieldOption TileCheckout StepsCheckout Header
13 · Final UI

Bakery Classic

I explored seven visual directions and chose Bakery Classic: a long-scroll homepage in espresso and crimson with a soft pink accent. Every page shares the same header, footer and tokens, and each nav item has its own page.

Redesigned homepage, full length
Homepage

Photo hero, how we bake, our cupcakes, how ordering works, offers, price list, journal, reviews and the store.

Menu page with category tabs
Menu

Every item has a photo, grouped into Cupcakes, Cakes, Boxes and gifts, and Extras.

Cupcakes listing with filter chips
Cupcakes

Filter chips for categories and dietary needs, and product cards whose price and Add button always line up.

What changed from v1
  • One aligned header: logo, nav and actions in a single row
  • 80px page margins and a 4-pt spacing scale
  • Two fonts instead of ten
  • Product cards with price and action always aligned
  • Picture menu grouped by Cupcakes, Cakes, Boxes & gifts, Extras
  • Dark photo bands use a scrim token so images stay visible
  • Frames for every nav item: Menu, Cupcakes, Custom Cupcakes, Corporate, Occasions
Red Velvet product page with pack sizes and extras
01 Product

Choose your pack

Pick a pack size, quantity and extras, then Add to cart.

Cart drawer confirming the item and subtotal
02 Added to cart

Instant confirmation

A drawer confirms the item and shows the subtotal.

Cart page with order summary and promo code
03 Cart

Review the order

Edit quantities, apply a promo code and review the order summary.

Checkout delivery details
04 Checkout, delivery

Pick a time slot

Contact details, delivery or pickup, address, and a date and time slot.

Checkout payment step
05 Checkout, payment

Pay your way

Card, Apple Pay, Google Pay or PayPal, plus a gift card message.

Order confirmation with status tracker
06 Order confirmed

Track it

The order number, a status tracker and the delivery details.

15 · Validate · Planned

The test I'll run

A usability test with five people who order baked goods for events, using Shirin's scenario as the task: order 2 chocolate, 1 vanilla and 1 gluten-free lemon cupcake for delivery tomorrow, then check the order status. I'll iterate on the checkout first, where the first prototype had the most problems.

MeasureTask success

Did they complete the order?

MeasureTime on task

How long each step takes.

MeasureErrors

Wrong turns and mistakes.

MeasureEase, 1–7

Rated after each step.

ResultsTest results will go here once the usability test is done.
16 · Next steps

Gaps found & what's next

Comparing the research with the final screens surfaced a few gaps worth fixing before testing.

Scenario products missing

Shirin orders vanilla and gluten-free lemon — neither exists on the menu yet. Add them, with dietary tags.

Mixed box

She wants several flavours in one order. Add a “Build a mixed box” option on the product page.

Guest checkout

The task flow has a Guest vs Sign-in decision that the prototype skips. Add it before Delivery.

My orders & log out

The flow ends with checking order status and logging out. Add a My Orders page in the account area.

Delivery areas page

Card sort grouped Delivery with service areas (Toronto, Ajax, Aurora, Brampton…). Add it to the footer IA.

Product pages

Only Red Velvet has a product page. Duplicate it for every flavour.

17 · Conclusion

What I learned

The redesign turned a hard-to-scan bakery site into a guided ordering experience: clear categories, five focused navigation items, consistent tokens and a checkout whose totals match at every step.

This project taught me how card sorting shapes navigation, and how a design system makes a whole site consistent and quick to change. With the timeline I had, I prioritized browsing and the core purchase journey. With more time I would test the custom order and corporate quote flows with real customers.

After thoughts · 1

Match the menu to the scenario

Vanilla and gluten-free lemon aren't on the menu yet, and there's no way to build a mixed box of several flavours.

After thoughts · 2

Close the flow gaps

The prototype skips the guest or sign-in choice and the My Orders page where Shirin checks her status and logs out.

After thoughts · 3

Finish the pages

Only Red Velvet has a product page, some photos are AI-generated placeholders, and screen-reader testing is my next step.