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