Gojek · GoFood · 2020–2021
Redesigning How 20M Users Find Food.
Every day more than 1.2 million GoFood orders are placed using search. With close to half a million merchants on the platform, quickly surfacing relevant results is a fundamental product problem — not just a UX one.
1.2M+
Orders/day via search
500K
Merchants on platform
20M+
Monthly active users
65%+
Bookings start from search
Search to booking conversion was very low. And search was primitive.
More than 65% of all GoFood bookings were made from search — but the search-to-booking conversion was critically low. Search was built as a name lookup: type a restaurant name, get a list. It couldn't handle dish intent, brand intent, or cuisine exploration.
As the Senior Product Designer on GoFood, I was tasked with rethinking the search experience from the ground up — grounded in data, validated by users, and designed for how people actually think about food.
Senior Product Designer
End-to-end ownership: research, definition, design, and handoff. Partnered with the search engineering team on relevance model integration.
Indonesia, Vietnam & Thailand
Southeast Asia's largest food delivery service
What does the data actually say?
I collaborated with the business intelligence team to analyse millions of daily queries. We took the top 100 queries and manually tagged them by user intent. Four distinct intent types emerged.
Dish Intent
Users search for a specific dish name.
"nasi goreng", "sushi", "gado-gado"
Brand Intent
Users search for a specific multi-outlet brand.
"KFC", "McDonald's", "Fore Coffee"
Restaurant Intent
Users search for a specific restaurant they know.
"Warung Bu Kris", "Sate Senayan"
Cuisine Intent
Users search for a category or cuisine type.
"Japanese", "healthy", "fast food"
Distribution of search count by intent
Dish intent dominates search volume — but Brand intent drives a disproportionately higher share of bookings. Brand searchers convert better. They know what they want.
Why do users search the same thing twice?
We analysed repeat searches — tracking the original query to the final query in a booking session. Three distinct patterns explained most of the re-typing behaviour.
Typo or Different Intent
The final query is completely different from the original, or the original had a typo. The user's first attempt failed to capture what they actually wanted.
Identic
The final search query is exactly the same as the original. Users retry because results didn't satisfy — not because the query was wrong.
Expanded
The final query is an expansion of the original. Users add words to narrow down — a signal they need better filters or smarter suggestions upfront.
7 things users told us in interviews.
In-depth interviews with users in Indonesia and India — a careful mix of age, gender, and order frequency. These were the signal insights that shaped our design direction.
Users start with a restaurant first, then look for dishes — not the other way around.
Users search for dishes but expect a list of restaurants as results.
Brands are associated with trust, quality, and consistency of taste.
Search is the primary mode of discovery on GoFood — not browsing.
Users know what they don't want before they start searching.
Users decide on a cuisine before they start searching.
Social media and recommendations from friends heavily influence restaurant selection.
Six focus areas that shaped the redesign.
Based on the qualitative and quantitative data, we defined the scope tightly before moving to design.
Help users make a decision at every step
Not just at the results stage — every moment of the search journey should reduce hesitation.
Reduce search-to-selection time
The faster a user finds what they want, the more they trust the app. Speed is a design quality.
Reduce number of repeat searches
Repeat searches signal failure. Each re-query is a user telling us the previous result wasn't right.
Reduce cognitive load on users
Show less, mean more. Every unnecessary result or option is friction.
Focus on restaurant funnelling
Users ultimately order from a restaurant. Design the search to move them confidently toward that decision.
Reach search results faster
Pre-search should do work for users — surfacing recent, relevant, and contextual options before they type.
From a name lookup to a discovery surface.
Predictive suggestions & intent classification
Before the user finishes typing, the system predicts their intent — dish, brand, restaurant, or cuisine — and shapes the suggestion list accordingly. Dish intent surfaces dishes. Brand intent surfaces brand hubs.
Recent restaurant searches, not just queries
Previous versions only remembered query strings. We redesigned recents to show restaurant cards — because users return to places, not words. This dramatically reduced time-to-first-tap for returning users.
Spell check, auto-correct, and no more empty states
Zero-result screens were replaced with smart recovery flows. Typos get corrected. When there's no exact match, adjacent results are surfaced automatically — with clear explanation of what was expanded.
Restaurant-focused dish results & new brand intent
Dish searches now show a two-layer result: the dish in context of a restaurant, with the menu item visible. Brand intent results show a dedicated brand hub — logo, all outlets, top dishes — not just a restaurant list.
Improved information hierarchy on merchant cards
Merchant cards were redesigned to lead with the decision-relevant information: cuisine type, delivery time, rating, promo. Less noise, faster scanning, higher click-through to restaurant pages.
Search is a journey, not a single step.
We broke the experience into four sub-experiences. Each step carries search context forward — so the user never loses their intent as they move through the flow.
Predictive suggestions, recent restaurant cards, and contextual chips — before the user types a single character.
Query understanding and intent classification in real-time. The suggestion list adapts to whether the user is typing a dish, brand, or cuisine.
Intent-matched result layouts: dish results within restaurant context, brand hubs, redesigned merchant cards with better information hierarchy.
Search context persists into the restaurant menu — users who searched for 'gado-gado' land on the relevant menu section, not the top.