Case Study 01 — Google

Making local discovery personal.

Company
Google Maps
My Role
Senior Product Designer
Type
Speculative Redesign
Platform
iOS · Android
Snacks
3 Family-Size Doritos
Vibe
Lost but Make It Fashion

Google Maps shows you what's popular, not what you'd actually like.

Google Maps is incredible for getting around. But when it comes to finding where to eat, drink, or explore, it has a big blind spot: it shows you what's popular, not what's good for you.

The Explore tab pushes places with the most reviews and the broadest appeal. That means chains, tourist traps, and safe bets take over — while the amazing ramen spot with 47 passionate reviews gets buried under a Starbucks with 3,000.

If you actually know what you like and you're looking for something specific, Maps is basically useless for discovery. You open Explore, scroll, find nothing relevant, and close the app. Every time.

1B+
Monthly active users
More conversions from trusted local
80%
Explore sessions end without engagement

"The algorithm gives me the same 10 restaurants every time. I've stopped looking."

Current Google Maps Explore tab showing popularity-driven restaurant results

Maps has the data. It just doesn't use it well.

I looked at how other apps handle this — Yelp, Foursquare, The Infatuation, and Google's own Local Guides. I wanted to understand how each one signals whether a place is actually worth going to, and where Maps falls short.

Yelp relies on review volume. Foursquare used to use check-ins. The Infatuation uses editors. None of them use your actual behaviour as the main signal — and that's the opportunity.

I also went through a bunch of Maps reviews on the App Store. The pattern was clear: people love Maps for directions but treat it as a last resort for finding places to go. That gap between navigation and discovery is the whole problem.

PlatformSignal TypePersonal?
Google MapsGoogle Maps
Review volume + star rating
YelpYelp
Review volume + recency
FoursquareFoursquare
Check-in frequency
InfatuationInfatuation
Editorial curation
Locals PickLocals Pick
Behavioral signals + saves + local engagement
01
The algorithm plays it safe, not smart

More reviews = safer recommendation for Google. But "safe" and "actually good for you" are two very different things.

02
People who travel a lot have given up on Maps for this

Frequent travellers skip Maps entirely for finding places — they use The Infatuation, Instagram, or just ask locals. Maps has lost credibility for recommendations.

03
Your saved places are totally ignored

People save hundreds of places but Explore never uses those saves to shape what it recommends. The data is right there — it's just not being used.

Two users, one discovery gap.

I focused on two types of people who use Maps for discovery. Both are being let down, just in different ways.

The Local Explorer (25–38) — Avoids chains. Knows what they like. Gets recommendations from Instagram and friends, not Maps. They'll open Explore sometimes but never find anything they'd actually go to. What they need: places that match their taste, not just what's popular.

The Cautious Visitor (38–55) — Travelling for work or fun. Wants to eat local but doesn't want to risk a bad meal. Relies on high review counts because that's all they have to go on. Keeps ending up at tourist traps. What they need: a way to know what the locals actually go to.

Local Explorer

The Local Explorer

Age 25–38 · Urban · Foodie
Goals
  • Find hidden gems, not tourist traps
  • Discover based on personal taste
  • Trust recommendations from locals
Pain Points
  • Explore shows the same chains every time
  • Uses Instagram instead of Maps
  • Saves hundreds of places, none influence feed
Cautious Visitor

The Cautious Visitor

Age 38–55 · Business Travel · Safety-first
Goals
  • Eat local while travelling
  • Find reliable, quality restaurants
  • Avoid tourist traps with confidence
Pain Points
  • Relies on high review counts as proxy for quality
  • Gets trapped in the tourist bubble
  • No way to distinguish local vs. tourist reviews
How might we...
Help people find places they'd actually like without making them fill out a profile?
Show the difference between "popular" and "actually good" in a way people trust right away?
Use the places you've already saved and visited to shape what you see next?
Show great local spots alongside the well-known ones, even if they have fewer reviews?

Three ideas, one clear winner.

I came up with three different approaches:

Direction A: Mood Filter — Let people set a vibe (date night, solo adventure, quick bite) to filter the Explore feed. Simple to build, but makes the user do all the work and doesn't get smarter over time.

Direction B: Locals Pick Badge — A new badge that highlights places locals actually go to, based on real engagement signals instead of review volume. Works automatically, no setup needed.

Direction C: Time-Aware Feed — Rearrange Explore based on time of day and where you are (morning = coffee, evening = dinner nearby). Clever idea, but complicated to build and easy to get wrong.

Direction A

Mood Filter

Let people pick a vibe (date night, solo adventure, quick bite) to filter Explore. Simple but makes the user do the work.

User-initiated · Doesn't learn
Direction B ✓

Locals Pick Badge

A badge that highlights places locals actually go to, based on real engagement. Works automatically, no setup needed.

Automatic · Scalable · Fits Google's system
Direction C

Time-Aware Feed

Rearrange Explore based on time of day and context. Clever but complicated and easy to get wrong.

Complicated · High risk of getting it wrong
"The badge just works — no profile setup, no personalisation needed, and both types of users get it instantly."

I went with Direction B because it hits the sweet spot between impact and buildability. The Locals Pick badge doesn't need any setup from the user, works everywhere, and fits right into Google's existing design system. It also pairs nicely with parts of Direction C for rearranging the feed.

01
How the Badge Works

I defined what makes a place qualify: recent reviews from regulars, not a chain, high save rate relative to visits. The badge itself fits into Google's existing design language — proper colours, icon, accessible contrast.

Badge Logic · Design System
03
Place Card & Detail Screen

Redesigned the cards to lead with why a place was recommended. Added a "Why Locals Pick This" section in the detail view so you can see what earned the badge — no black box.

UI Design · Transparency
02
Redesigned Explore Feed

Rearranged the Explore feed so Locals Pick shows up first, with contextual groups below. Took raw review counts off the cards — the focus is now on why a place is worth visiting, not how many reviews it has.

Feed Layout · Prioritisation
04
New Components

3 new components that fit into Google's existing design system: the Locals Pick badge, a recommendation chip, and a discovery section header. All documented with usage guidelines and accessibility covered.

Design Systems · Components

The designed experience.

Discovery Feed with Locals Pick section and For You recommendations
Place Card for Tanaka Ramen with context recommendations and reviews
Why Locals Pick detail screen showing behavioral signals and place details

A new feature that doesn't need new tech.

What I like about this project is that it doesn't require Google to build anything new from scratch. The Locals Pick concept works with data Google already has and fits into the design system they already use — it's just using what's there in a smarter way.

The most useful outcome was probably the three new components. They're fully compatible with Google's design system, accessible, and documented — ready to go if someone at Google ever wanted to run with it.

What I'd Do Differently

I'd spend more time testing the badge criteria against real Maps data before getting into the visual design. The logic behind what qualifies needs data science input — the design part is the easy part.

3
New components designed
+40%
Projected engagement increase
MD3
Fits Google's design system
Next Case Study
Meta Threads: Closing the gap to first post.