Redesigning Café Production Around Real Demand

TASK

UX Research

Visual Design

Prototyping

TEAM

8 developers

1 project manager

2 UX designers

TIMELINE

02 2026 - 09 2024

PROJECT BRIEF

I led the end-to-end redesign of the Sam‘s Club café's order fulfillment and pizza production experience.

The work ran in two phases. First, in 14 days making urgency visible in the existing order queue, shipped before the next peak day. Then, turning the queue into a production plan — splitting the front-of-house and back-of-house workflows into two views, validated against engineering's preference for one.

Along the way I brought every café component up to date in our design system, which is what made the second phase possible at that speed.

Redesigning Café Production Around Real Demand

TASK

UX Research

Visual Design

Prototyping

TEAM

8 developers

1 project manager

2 UX designers

TIMELINE

02 2026 - 09 2024

PROJECT BRIEF

I led the end-to-end redesign of the Sam‘s Club Café's order fulfillment and pizza production experience.

The work ran in two phases. First, in 14 days, making urgency visible in the existing order queue, shipped before the next peak day. Then, turning the queue into a production plan — splitting the front-of-house and back-of-house workflows into two views, validated against engineering's preference for one.

Along the way I brought every café component up to date in our design system, which is what made the second phase possible at that speed.

IMPACT

0
0
% →
0
%

Peak-day order cancellations

Peak-day order cancellations

0
.
0
×

Faster production decisions

Faster production decisions

−
0
0
%

Production time

Production time

0
0
0
0

Associates using it every shift

Associates using it every shift

CONTEXT

I joined a café system that was losing sales on its busiest days of the year.

I joined a café system that was losing sales on its busiest days of the year.

Every club has a café. Pizza orders come in from six channels at once — Scan & Go, Express, Register, Delivery, Curbside, Self Checkout — each with its own pickup time, all landing in one queue on one tablet behind the counter.

On an ordinary day, associates absorb that complexity themselves. On Super Bowl Sunday, they couldn't: up to 17% of orders were canceled at pickup.

THE OUTCOME - EXPEDITOR VIEW

I split one crowded screen into two — one for the counter, one for the kitchen.

I structured each view around the decision its role actually makes. The expeditor's view answers which order goes out next, and to whom — driver status, pickup time, handoff sequence. The producer's view answers what goes in the oven next — quantity by pizza type, by time window.

Expeditors can manage every order from one clear view.

Expeditors can see which order is closest to its pickup window — and which driver is already on the way.

CHALLENGE - 14 DAYS LIMIT

Within fourteen days, I helped the team scope the design direction to reduce cancellation rate.

Within fourteen days, I helped the team scope the design direction to reduce cancellation rate.

The next holiday peak was two weeks out. I had no room to rebuild the fulfillment system, retrain 3,000 associates, or change how production is scheduled.

So I scoped to two things: what could change inside the interface associates already used, and signals the system already carried.

UNCOVERING THE REAL PROBLEM

I found that current tool only shows what was ordered — never what to make next.

I found that current tool only shows what was ordered — never what to make next.

I looked at what the associate actually saw: every order the same size, the same weight, no sense of which one was already late. Underneath sat three problems — the queue never surfaced driver status, production wasn't connected to demand, and two workflows were sharing one interface. Every signal needed to fix them was already in the system. I just had to get it to the people working from it.

Urgency never reached the interface.

Driver status lived in the data, never in the queue. By the time an order read as urgent, it was already late.

Production ran on memory, not demand.

Orders arrived on one side, pizzas got made on the other, and how many to make lived in someone's head.

One interface, two jobs.

The counter and the kitchen need the same orders in two different shapes. They only got one.

Production ran on memory, not demand.

Orders arrived on one side, pizzas got made on the other, and how many to make lived in someone's head.

Urgency never reached the interface.

Driver status lived in the data, never in the queue. By the time an order read as urgent, it was already late.

One interface, two jobs.

The counter and the kitchen need the same orders in two different shapes. They only got one.

RESEARCH

I ran a workshop, then went to the clubs — and found production timing and pickup timing had no connection at all.

The signals were all there — pickup time, driver status, prep time — just never in the queue the associate worked from. So I mapped what design could actually reach against what fourteen days allowed, and scoped to one move: surface order urgency. It ran on driver status the system already carried, it hit the exact moment an order gets canceled, and it would earn me the evidence for the other two.

PHASE ONE - SURFACE URGENT ORDERS

I rebuilt the order card, then the queue around it, so urgency reads from across the counter.

I designed one consistent card — channel, pickup time, items, driver status always in the same position — applied it across all six channels, and restructured the queue into equal columns.

Then the piece that mattered: when a driver is en route, that order carries a priority tag and border.

I rebuilt the order card, then the queue around it, so urgency reads from across the counter.

DESIGN WITH AI

AI prototyping helped me ship my design faster while collaborating with the engineer team.

I prototyped in Builder.io, our internal tool. Most café components there were behind our design system, so I worked with the design system team to bring every one up to date — which let me generate iterations with AI instead of restyling by hand, and spend my time on the design itself.

1.0 Current Design

Cafe order system

Before — Fragmented & Manual Planning

Only the time the order was placed, never the pickup window

No driver status anywhere in the interface

Order work and production work compete for one screen.

2.0 New order system

Surfacing urgency

After — Consistent system with urgency indication

One card structure, same information in the same position, across all six channels

Urgency reads first, order details second

Visibility of driver and pickup timing surfaced on the card itself

We successfully reduced the cancellation rate from 17% to 12%

PHASE TWO - SOLVE THE HIDDEN PROBLEM

I decieded to solve the complete problem by connecting our production system from live demand.

I followed both through a shift. The expeditor works at order level: whose order, driver status, pickup time. The producer works in aggregate: how many of each pizza, for which hour.

Same orders underneath — different shape required. Each was filtering out the other's work to get to their own.

PHASE TWO - SOLVE THE HIDDEN PROBLEM

I identified two workflow and started designing for two roles.

I found two workflows running in parallel, never touching — and both reading from the same queue. That queue was built around the order, which meant I was still asking the producer to reconstruct their unit of work out of someone else's, every single time.

DESIGN EXPLORATION

I designed three interfaces based on what each role actually needed.

The question wasn't whether the producer should get a plan. It was how much room to give one, with engineering's budget in the room. So instead of arguing it abstractly, I designed all three and put them side by side.

2.1 Design Iteration

One production view

Option A — A production section inside the existing view.

The batch count sits on the screen they already work in.

Only the current hour fits — no way to see the day ahead.

Order work and production work compete for one screen.

2.2 Design Iteration

Individual production view

Option B — Two separate role-based views for different workflow.

The production schedule is clear with next-hour window.

The next window’s load is visible while there is still time to start it.

Orders stay whole inside each window, with channel and due time intact for the handoff.

2.3 Design Iteration

Flexible Production View

Option C — A flexible toggle between the two system.

Showing the whole production causing the timing problem untouched.

Associate sometimes lack of understanding of the whole production orders.

The system is flexible to be switched between each one.

The team only wanted one view, so I justfied a better experience by my usability test.

The team only wanted one view, so I justfied a better experience by my usability test.

USABILITY TEST

I ran usability test and found two views allow both user groups to focus on their jobs.

I ran both against identical tasks and identical data, and measured task performance instead of preference. If I'd asked which one they liked, I'd have gotten taste. I needed evidence.

The gap widened as order volume rose — exactly where the cancellations were coming from. That's what convinced the team to build it.

I found associates preferred two views because they could trust the count instead of recounting it.

I found associates preferred two views because they could trust the count instead of recounting it.

IMPACT

I shipped the redesign that took peak-day cancellations from 17% to 8%, across 600 clubs.

The remaining 8% sits mostly outside production — inventory, and how Spark drivers get notified. All 600 clubs run the exact same system. No local variant, no per-club configuration — one change I make here lands in all of them at once.

TAKEAWAYS

I learned to define before I design.

Define problem before designing

In a system this shared, the first design decision is deciding what the problem actually is.

I learned to scope to the constraint, not to the problem.

I learned to scope to the constraint, not to the problem.

Fourteen days changed what I could ship. It didn't change what was wrong.

Observation earned me a hearing with evidence.

I learned how to justify a design decision when the room disagrees — by testing it, not defending it.

THE OUTCOME - PIZZA PRODUCER VIEW

I split one crowded screen into two — one for the counter, one for the kitchen.

I structured each view around the decision its role actually makes. The expeditor's view answers which order goes out next, and to whom — driver status, pickup time, handoff sequence. The producer's view answers what goes in the oven next — quantity by pizza type, by time window.

Expeditors can manage every order from one clear view.

Expeditors can see which order is closest to its pickup window — and which driver is already on the way.

THE OUTCOME - EXPEDITOR VIEW

Retail Operation

Designing AI-Powered Operational Intelligence

B2B

AI Production

Mobile App

Tablet Devices

Productivity AI Tool

Productivity

AI Tool

Research

B2B

B2B

Logistic

Logistic

Mobile App

Mobile App

3D Interactive Prototyping

3D Interactive Prototyping

Motion Design

Motion Design

VR/AR

VR/AR

Copyright © 2026 Shenyiz. Made with ❤️ in AR

Redesigning Café Production Around Real Demand

TEAM

3 developers

1 project manager

4 UX designers

TASK

UX Research

Visual Design

Prototyping

PROJECT BRIEF

TEAM

I led the end-to-end redesign of the Sam's Club café's order fulfillment and pizza production experience.

The work ran in two phases. First, in 14 days, making urgency visible in the existing order queue, shipped before the next peak day. Then, turning the queue into a production plan — splitting the front-of-house and back-of-house workflows into two views, validated against engineering's preference for one.

Along the way I brought every café component up to date in our design system, which is what made the second phase possible at that speed.

3 developers

3 developers

1 project manager

1 project manager

4 UX designers

4 UX designers

TASK

UX Research

Visual Design

Prototyping

MY ROLE

I led the end-to-end redesign of the Sam's Club café's order fulfillment and pizza production experience.

The work ran in two phases. First, in 14 days, making urgency visible in the existing order queue, shipped before the next peak day. Then, turning the queue into a production plan — splitting the front-of-house and back-of-house workflows into two views, validated against engineering's preference for one.

Along the way I brought every café component up to date in our design system, which is what made the second phase possible at that speed.

IMPACT

IMPACT

-

38.8%

9%

-9%

Increase in Subscribe Users

Peak-day order cancellations

Peak-day order cancellations

16.7%

2.3X

2.3X

Decrease in Editing Time

Faster production decisions

-

-

-

26.8%

57%

57%

Increase of user satisfaction

Production time

Production time

Expeditors can manage every order from one clear view.

Expeditors can see which order is closest to its pickup window — and which driver is already on the way.

PHASE TWO - SOLVE THE HIDDEN PROBLEM

I decieded to solve the complete problem by connecting our production system from live demand.

I followed both through a shift. The expeditor works at order level: whose order, driver status, pickup time. The producer works in aggregate: how many of each pizza, for which hour.

Same orders underneath — different shape required. Each was filtering out the other's work to get to their own.

UNCOVERING THE REAL PROBLEM

I split one crowded screen into two — one for the counter, one for the kitchen.

I structured each view around the decision its role actually makes. The expeditor's view answers which order goes out next, and to whom — driver status, pickup time, handoff sequence. The producer's view answers what goes in the oven next — quantity by pizza type, by time window.

DESIGN WITH AI

AI prototyping helped me ship my design faster while collaborating with the engineer team.

I prototyped in Builder.io, our internal tool. Most café components there were behind our design system, so I worked with the design system team to bring every one up to date — which let me generate iterations with AI instead of restyling by hand, and spend my time on the design itself.

1.0 Current Design

Cafe order system

Before — Fragmented & Manual Planning

Only the time the order was placed, never the pickup window

No driver status anywhere in the interface

Order work and production work compete for one screen.

2.0 New order system

Surfacing urgency

After — Consistent system with urgency indication

One card structure, same information in the same position, across all six channels

Urgency reads first, order details second

Visibility of driver and pickup timing surfaced on the card itself

CONTEXT

I joined a café system that was losing sales on its busiest days of the year.

Every club has a café. Pizza orders come in from six channels at once — Scan & Go, Express, Register, Delivery, Curbside, Self Checkout — each with its own pickup time, all landing in one queue on one tablet behind the counter.

On an ordinary day, associates absorb that complexity themselves. On Super Bowl Sunday, they couldn't: up to 17% of orders were canceled at pickup.

Expeditors can manage every order from one clear view.

Expeditors can see which order is closest to its pickup window — and which driver is already on the way.

PHASE ONE - SURFACE URGENT ORDERS

I rebuilt the order card, then the queue around it, so urgency reads from across the counter.

I designed one consistent card — channel, pickup time, items, driver status always in the same position — applied it across all six channels, and restructured the queue into equal columns.

Then the piece that mattered: when a driver is en route, that order carries a priority tag and border.

UNCOVERING THE REAL PROBLEM

I found that the interface only shows what was ordered — never what to make next.

I looked at what the associate actually saw: every order the same size, the same weight, no sense of which one was already late. Underneath sat three problems — the queue never surfaced driver status, production wasn't connected to demand, and two workflows were sharing one interface. Every signal needed to fix them was already in the system. I just had to get it to the people working from it.

Production ran on memory, not demand.

Orders arrived on one side, pizzas got made on the other, and how many to make lived in someone's head.

Urgency never reached the interface.

Driver status lived in the data, never in the queue. By the time an order read as urgent, it was already late.

One interface, two jobs.

The counter and the kitchen need the same orders in two different shapes. They only got one.

CHALLENGE - 14 DAYS LIMIT

Within fourteen days, I helped the team scope the design direction to reduce cancellation rate.

The next holiday peak was two weeks out. I had no room to rebuild the fulfillment system, retrain 3,000 associates, or change how production is scheduled.

So I scoped to two things: what could change inside the interface associates already used, and signals the system already carried.

RESEARCH

I ran a workshop, then went to the clubs — and found production timing and pickup timing had no connection at all.

The signals were all there — pickup time, driver status, prep time — just never in the queue the associate worked from. So I mapped what design could actually reach against what fourteen days allowed, and scoped to one move: surface order urgency. It ran on driver status the system already carried, it hit the exact moment an order gets canceled, and it would earn me the evidence for the other two.

USABILITY TEST

I ran usability test on identical tasks and identical data, and found two views beat one on every measure.

I ran both against identical tasks and identical data, and measured task performance instead of preference. If I'd asked which one they liked, I'd have gotten taste. I needed evidence.

The gap widened as order volume rose — exactly where the cancellations were coming from. That's what convinced the team to build it.

I found associates preferred two views because they could trust the count instead of recounting it.

CONTEXT

I joined a café system that was losing sales on its busiest days of the year.

Every club has a café. Pizza orders come in from six channels at once — Scan & Go, Express, Register, Delivery, Curbside, Self Checkout — each with its own pickup time, all landing in one queue on one tablet behind the counter.

On an ordinary day, associates absorb that complexity themselves. On Super Bowl Sunday, they couldn't: up to 17% of orders were canceled at pickup.

PHASE ONE - SURFACE URGENT ORDERS

I rebuilt the order card, then the queue around it, so urgency reads from across the counter.

I designed one consistent card — channel, pickup time, items, driver status always in the same position — applied it across all six channels, and restructured the queue into equal columns.

Then the piece that mattered: when a driver is en route, that order carries a priority tag and border.

IMPACT

I shipped the redesign that took peak-day cancellations from 17% to 8%, across 600 clubs.

The remaining 8% sits mostly outside production — inventory, and how Spark drivers get notified. All 600 clubs run the exact same system. No local variant, no per-club configuration — one change I make here lands in all of them at once.

DESIGN WITH AI

AI prototyping helped me ship my design faster while collaborating with the engineer team.

I prototyped in Builder.io, our internal tool. Most café components there were behind our design system, so I worked with the design system team to bring every one up to date — which let me generate iterations with AI instead of restyling by hand, and spend my time on the design itself.

1.0 Current Design

Cafe order system

Before — Fragmented & Manual Planning

Only the time the order was placed, never the pickup window

No driver status anywhere in the interface

Order work and production work compete for one screen.

2.0 New order system

Surfacing urgency

After — Consistent system with urgency indication

One card structure, same information in the same position, across all six channels

Urgency reads first, order details second

Visibility of driver and pickup timing surfaced on the card itself

IMPACT

I shipped the redesign that took peak-day cancellations from 17% to 8%, across 600 clubs.

The remaining 8% sits mostly outside production — inventory, and how Spark drivers get notified. All 600 clubs run the exact same system. No local variant, no per-club configuration — one change I make here lands in all of them at once.

PROJECT KEY TAKAWAYS

DESIGNING AI BEYOND AUTOMATION

DESIGNING AI BEYOND AUTOMATION

UNCOVERING THE REAL PROBLEM

I found that the interface only shows what was ordered — never what to make next.

I looked at what the associate actually saw: every order the same size, the same weight, no sense of which one was already late. Underneath sat three problems — the queue never surfaced driver status, production wasn't connected to demand, and two workflows were sharing one interface. Every signal needed to fix them was already in the system. I just had to get it to the people working from it.

Production ran on memory, not demand.

Orders arrived on one side, pizzas got made on the other, and how many to make lived in someone's head.

Urgency never reached the interface.

Driver status lived in the data, never in the queue. By the time an order read as urgent, it was already late.

One interface, two jobs.

The counter and the kitchen need the same orders in two different shapes. They only got one.

RESEARCH

I ran a workshop, then went to the clubs — and found production timing and pickup timing had no connection at all.

The signals were all there — pickup time, driver status, prep time — just never in the queue the associate worked from. So I mapped what design could actually reach against what fourteen days allowed, and scoped to one move: surface order urgency. It ran on driver status the system already carried, it hit the exact moment an order gets canceled, and it would earn me the evidence for the other two.

CHALLENGE - 14 DAYS LIMIT

Within fourteen days, I helped the team scope the design direction to reduce cancellation rate.

The next holiday peak was two weeks out. I had no room to rebuild the fulfillment system, retrain 3,000 associates, or change how production is scheduled.

So I scoped to two things: what could change inside the interface associates already used, and signals the system already carried.

UNCOVERING THE REAL PROBLEM

I split one crowded screen into two — one for the counter, one for the kitchen.

I structured each view around the decision its role actually makes. The expeditor's view answers which order goes out next, and to whom — driver status, pickup time, handoff sequence. The producer's view answers what goes in the oven next — quantity by pizza type, by time window.

Define problem before designing

In a system this shared, the first design decision is deciding what the problem actually is.

Scope to the constraint, not to the problem.

Fourteen days changed what I could ship. It didn't change what was wrong.

Observation earned me a hearing with evidence.

I learned how to justify a design decision when the room disagrees — by testing it, not defending it.

USABILITY TEST

I ran usability test on identical tasks and identical data, and found two views beat one on every measure.

I ran both against identical tasks and identical data, and measured task performance instead of preference. If I'd asked which one they liked, I'd have gotten taste. I needed evidence.

The gap widened as order volume rose — exactly where the cancellations were coming from. That's what convinced the team to build it.

I found associates preferred two views because they could trust the count instead of recounting it.

Redesigning Café Production Around Real Demand

Curious about the end to end design process?

We successfully reduced the cancellation rate from 17% to 12%

I’d be happy to walk you through the full process over a call. Reach out at shenyiz@outlook.com :)

Define problem before designing

In a system this shared, the first design decision is deciding what the problem actually is.

Scope to the constraint, not to the problem.

Fourteen days changed what I could ship. It didn't change what was wrong.

Observation earned me a hearing with evidence.

I learned how to justify a design decision when the room disagrees — by testing it, not defending it.

DESIGN ITERATION - PRODUCE

PHASE TWO - SOLVE THE HIDDEN PROBLEM

PHASE TWO - SOLVE THE HIDDEN PROBLEM

Users need better visibility into operational risks while work is in progress

I identified two workflow and started designing for two roles.

I identified two workflow and started designing for two roles.

AI continuously monitors production progress, workload distribution, and execution status in real time. This helps users identify issues earlier and take action before delays impact fulfillment and member experience.

I found two workflows running in parallel, never touching — and both reading from the same queue. That queue was built around the order, which meant I was still asking the producer to reconstruct their unit of work out of someone else's, every single time.

I found two workflows running in parallel, never touching — and both reading from the same queue. That queue was built around the order, which meant I was still asking the producer to reconstruct their unit of work out of someone else's, every single time.

DESIGN ITERATION - PLAN

DESIGN EXPLORATION

PHASE TWO - SOLVE THE HIDDEN PROBLEM

Users need clearer guidance to understand what inputs are required and how supporting files should be provided.

I designed three interfaces based on what each role actually needed.

I decieded to solve the complete problem by connecting our production system from live demand.

AI analyzes demand, labor capacity, and inventory signals to identify operational risks before production begins, helping managers create more reliable plans with less manual effort.

The question wasn't whether the producer should get a plan. It was how much room to give one, with engineering's budget in the room. So instead of arguing it abstractly, I designed all three and put them side by side.

I followed both through a shift. The expeditor works at order level: whose order, driver status, pickup time. The producer works in aggregate: how many of each pizza, for which hour.

Same orders underneath — different shape required. Each was filtering out the other's work to get to their own.

DESIGN ITERATION - COMPLETE

DESIGN EXPLORATION

Users need actionable insights to continuously improve future operations

I designed three interfaces based on what each role actually needed.

I designed three interfaces based on what each role actually needed.

Rather than simply tracking completed work, AI analyzes outcomes, highlights recurring patterns, and captures operational learnings. These insights help users refine future planning and execution decisions over time.

The question wasn't whether the producer should get a plan. It was how much room to give one, with engineering's budget in the room. So instead of arguing it abstractly, I designed all three and put them side by side.

2.1 Design Iteration

One production view

Option A — A production section inside the existing view.

Option A — A production section inside the existing view.

Option A — A production section inside the existing view.

The batch count sits on the screen they already work in.

The batch count sits on the screen they already work in.

The batch count sits on the screen they already work in.

Only the current hour fits — no way to see the day ahead.

Only the current hour fits — no way to see the day ahead.

Only the current hour fits — no way to see the day ahead.

Order work and production work compete for one screen.

Order work and production work compete for one screen.

Order work and production work compete for one screen.

2.2 Design Iteration

Individual production view

Option B — Two separate role-based views for different workflow.

Option B — Two separate role-based views for different workflow.

Option B — Two separate role-based views for different workflow.

The production schedule is clear with next-hour window.

The production schedule is clear with next-hour window.

The production schedule is clear with next-hour window.

The next window’s load is visible while there is still time to start it.

The next window’s load is visible while there is still time to start it.

The next window’s load is visible while there is still time to start it.

Orders stay whole inside each window, with channel and due time intact for the handoff.

Orders stay whole inside each window, with channel and due time intact for the handoff.

Orders stay whole inside each window, with channel and due time intact for the handoff.

2.3 Design Iteration

Flexible Production View

Option C — A flexible toggle between the two system.

Option C — A flexible toggle between the two system.

Option C — A flexible toggle between the two system.

Showing the whole production causing the timing problem untouched.

Showing the whole production causing the timing problem untouched.

Showing the whole production causing the timing problem untouched.

Associate sometimes lack of understanding of the whole production orders.

Associate sometimes lack of understanding of the whole production orders.

Associate sometimes lack of understanding of the whole production orders.

The system is flexible to be switched between each one.

The system is flexible to be switched between each one.

The system is flexible to be switched between each one.

The team only wanted one view, so I justfied a better experience by my usability test.

We successfully reduced the cancellation rate from 17% to 12%

We successfully reduced the cancellation rate from 17% to 12%

The team only wanted one view, so I justfied a better experience by my usability test.

Copyright © 2026 Shenyiz. Made with ❤️ in AR

Enter Password