


Your grocery list, your language. Messy, quick, and zuperfast.
Your grocery list, your language. Messy, quick, and zuperfast.
Fixing Multi-Item Search Friction on Zepto: A faster way to build carts
Fixing Multi-Item Search Friction on Zepto: A faster way to build carts
This project explores how grocery search can better align with how frequent users actually think and shop - in lists rather than individual products by reducing repeated effort and decision fatigue during everyday ordering.
This project explores how grocery search can better align with how frequent users actually think and shop - in lists rather than individual products by reducing repeated effort and decision fatigue during everyday ordering.
Product
Zepto
Role
Product designer
Timeline
Design Sprint (3 days)
Scope
Redesigning search to reduce friction in multi-item cart building for active users
The Problem
The Problem
For frequent grocery shoppers, building a multi-item cart on Zepto requires repeated, serial searches: adding friction to what should be a fast, habitual task.
For frequent grocery shoppers, building a multi-item cart on Zepto requires repeated, serial searches: adding friction to what should be a fast, habitual task.
The Goal
The Goal
Improve how active Zepto users build carts when ordering multiple items; without changing how search fundamentally works.
This work focused on reducing friction in everyday grocery ordering, where speed matters more than precision.
Improve how active Zepto users build carts when ordering multiple items; without changing how search fundamentally works.
This work focused on reducing friction in everyday grocery ordering, where speed matters more than precision.


The Reality
The Reality
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
But Zepto’s search experience expects users to:
Look for items one by one
Scan through noisy results repeatedly
Re-enter search for every additional item
This creates unnecessary effort during what should be a fast, habitual task.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
But Zepto’s search experience expects users to:
Look for items one by one
Scan through noisy results repeatedly
Re-enter search for every additional item
This creates unnecessary effort during what should be a fast, habitual task.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
But Zepto’s search experience expects users to:
Look for items one by one
Scan through noisy results repeatedly
Re-enter search for every additional item
This creates unnecessary effort during what should be a fast, habitual task.


The Constraints
The Constraints
This problem existed inside Zepto’s most critical funnel.
The solution had to:
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
This problem existed inside Zepto’s most critical funnel.
The solution had to:
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.



What Couldn’t Be Assumed
What Couldn’t Be Assumed
Users could not be expected to:
Search patiently item by item
Type perfectly structured queries
Spend time resolving variants repeatedly
Adapt to a completely new ordering flow
The system could not assume:
Clean language input
Single-item intent
Extra time or attention from repeat users
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
Users could not be expected to:
Search patiently item by item
Type perfectly structured queries
Spend time resolving variants repeatedly
Adapt to a completely new ordering flow
The system could not assume:
Clean language input
Single-item intent
Extra time or attention from repeat users



The User Experience
The User Experience
The experience was designed to feel like writing a grocery list: not using search.
The flow works as follows
Users enter their full list in one go
The system interprets items, quantities, and preferences
Ambiguity is resolved only when necessary
A complete cart is prepared without repeated searching
The goal was simple:
List → review → checkout
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
The experience was designed to feel like writing a grocery list: not using search.
The flow works as follows
Users enter their full list in one go
The system interprets items, quantities, and preferences
Ambiguity is resolved only when necessary
A complete cart is prepared without repeated searching
The goal was simple:
List → review → checkout

How Complexity Was Absorbed
How Complexity Was Absorbed
The hardest part of this problem wasn’t input: it was ambiguity.
Instead of pushing decisions early:
The system waits until intent is unclear
Clarification happens in-place, with minimal interruption
Common preferences are reused automatically
This allowed the experience to stay fast while still remaining accurate.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
The hardest part of this problem wasn’t input: it was ambiguity.
Instead of pushing decisions early:
The system waits until intent is unclear
Clarification happens in-place, with minimal interruption
Common preferences are reused automatically
This allowed the experience to stay fast while still remaining accurate.

The Final State
The Final State
A redesigned search experience that:
Accepts how users naturally think and type
Reduces repeated effort
Converts a messy list into a ready-to-checkout cart
No repeated searching.
No scanning through variants.
No unnecessary decisions.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
A redesigned search experience that:
Accepts how users naturally think and type
Reduces repeated effort
Converts a messy list into a ready-to-checkout cart
No repeated searching.
No scanning through variants.
No unnecessary decisions.



Consequence & Projected Impact
Consequence & Projected Impact
By shifting search from SKU-by-SKU lookup to list-based intent, this concept removes one of the most persistent frictions in Zepto’s ordering flow for frequent users.
The experience aligns better with real grocery behavior while fitting cleanly into Zepto’s existing ecosystem.
Active users don’t think in products or SKUs when ordering groceries.
They think in lists.
Work within the existing search system
Avoid disrupting familiar behaviors
Handle real-world, messy input
Stay fast during peak usage moments
Any added complexity risked slowing users down instead of helping them.
By shifting search from SKU-by-SKU lookup to list-based intent, this concept removes one of the most persistent frictions in Zepto’s ordering flow for frequent users.
The experience aligns better with real grocery behavior while fitting cleanly into Zepto’s existing ecosystem.




Intent to delivery: made Zuperfast
Intent to delivery: made Zuperfast
You got some free time?
You got some free time?



Let's have a chat
Let's have a chat
Say Hi
Say Hi
Say Hi
Say Hi
Say Hi
Say Hi
Say Hi
Say Hi