
Category
B2C Mobile App
Deliverables
UX & Interaction
Context
Concept project
Year
The fundamental mismatch in Zepto's search wasn't a UI problem — it was a mental model problem. The existing experience was designed around a single unit of intent: one search query, one result set, one item added. But active Zepto users carry a full list in their heads before they even open the app.
Zepto's search expected 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 design couldn't just add a "multi-search" button on top of the existing system — the underlying assumption of single-item intent ran through the entire flow.
The solution couldn't change how search fundamentally works — it had to extend search to support multi-item intent natively. Instead of treating each item as an isolated query, the redesigned flow accepts a user's full list in one input and builds the cart from there.

This problem existed inside Zepto's most critical funnel — search to cart. The design space was narrow because the cost of getting it wrong was real: any solution that added complexity risked slowing users down more than the original problem did.
The solution had to work within hard boundaries:
Work within the existing search system — no new infrastructure assumed
Avoid disrupting familiar behaviors — users who prefer item-by-item search shouldn't be forced out
Handle real-world, messy input — "2 Amik 1l mylk", "iphine 513 gl"
Stay fast during peak usage moments — the feature had to be faster than the current flow, not just different
Users could not be expected to
Search patiently, item by item
Type perfectly structured queries
Spend time resolving variants repeatedly
The system could not assume
Clean language input
Single-item intent per session
Extra time or attention from repeat users
Any added complexity risked slowing users down instead of helping them. This constraint — that the solution had to be faster than the current flow, not just different — governed every single design decision that followed.



Left: single list input. Right: clarification triggered only when intent is ambiguous — one moment, in-place.
The hardest part of this problem wasn't input: it was ambiguity.
Any grocery list contains items that can't be resolved to a single SKU without more context — "bread," "oil," "chips." The naive solution is to ask the user upfront: which brand? which size? But asking those questions at input time defeats the purpose of a fast, list-driven flow.
Instead of pushing decisions early:
The system waits until intent is unclear
high-confidence matches go straight to cart
Clarification happens in-place, with minimal interruption
one item at a time, inline, not in a separate screen
Common preferences are reused automatically
past choices reduce future ambiguity
This allowed the experience to stay fast while still remaining accurate. The complexity wasn't removed — it was absorbed by the system and surfaced only when the user's input genuinely required a decision.

After restructuring the flow around list-based intent and building ambiguity resolution into the system rather than the user's workflow, the final state was a redesigned search experience that:
Accepts how users naturally think and type
Reduces repeated effort across a multi-item session
Converts a messy, natural-language list into a ready-to-checkout cart
No repeated searching.No scanning through variants.
No unnecessary decisions.
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

Say Hi
Say Hi



