🎓 Google UX Design Certificate · Coursera · 2025
Practice Project — Mobile App Design

Grão — Specialty coffee
discovery in Lisbon.

A mobile app that helps coffee lovers in Lisbon find specialty cafés, track their favourites, and build a personal taste profile. Designed end-to-end as part of the Google UX Design Certificate.

UX Research Wireframing Prototyping Usability Testing Figma Mobile Design
Role
UX Designer (solo)
Google UX Certificate project
Timeline
8 weeks
2025
Tools
Figma · FigJam
Maze · Google Forms
Platform
iOS mobile app
00 — Context

Why this project.

This is a practice project from the Google UX Design Certificate on Coursera. The brief was open — design a mobile app that solves a real problem for a real user group. I chose something I know well: finding good specialty coffee in a city like Lisbon, where the scene is growing fast but the information is scattered across Instagram, Google Maps, and word-of-mouth.

I used this project to apply the full UX process — from empathy interviews to high-fidelity prototype — for the first time in a structured way.

01
Empathize
5 user interviews + competitive analysis
02
Define
Personas, problem statement, HMW questions
03
Ideate
Crazy 8s, feature prioritisation, user flows
04
Prototype
Lo-fi wireframes → hi-fi Figma prototype
05
Test
5 moderated usability sessions + iteration
01 — Empathize

Who actually drinks
specialty coffee?

I ran 5 semi-structured interviews with people aged 24–38 who described themselves as "coffee lovers" — a deliberately broad term. I wasn't recruiting for a specific persona, I wanted to find where real behaviour diverged from my assumptions.

"I know which places I like but I can't explain why. I just go back to the same three cafés and never try anything new."

— Interview participant, 31, designer

What I expected to find

I assumed the main problem was discovery — people didn't know which cafés existed. So I expected to design a map-based discovery tool.

What the research actually showed

Most people already knew about specialty cafés in their area. The real friction was decision-making — they couldn't articulate what they liked, so every new café felt like a gamble. They wanted guidance, not more information.

02 — Define

Two people I designed for.

Mariana, 29
Graphic designer · Lisbon

Goes to the same café every day because "at least I know what I'm getting." Curious about specialty coffee but intimidated by the terminology and worried about looking inexperienced.

  • Find cafés she'll actually like without research
  • Learn what she enjoys without feeling judged
  • Share recommendations with friends easily
  • Google Maps reviews don't mention coffee quality
  • Instagram posts are pretty but don't tell her if she'll like it
  • Menus use words she doesn't understand
🗺️
Tomás, 35
Developer · Remote · Travels often

Knows exactly what he likes (light roast, filter, single origin) but has to rebuild his "trusted list" every time he visits a new city. Wastes time on bad coffee.

  • Find his type of coffee in unfamiliar cities fast
  • Save and recall what he tried and what he thought
  • Avoid tourist-trap cafés with good Instagram presence
  • No tool filters by roast profile or brew method
  • Reviews are too generic ("great coffee!" tells him nothing)
  • Has to rebuild favourites lists from scratch every trip

Problem statement

Specialty coffee drinkers in Lisbon need a way to find cafés that match their taste profile because existing tools don't speak the language of coffee — they speak the language of generic reviews.

03 — Ideate

The feature that changed
everything: taste onboarding.

After Crazy 8s and a dot-voting session (alone, using sticky notes), the idea that kept winning was a taste onboarding quiz — 5 questions that build a taste profile without requiring the user to know any coffee jargon. Instead of asking "Do you prefer washed or natural process?", ask "Do you prefer sweet and fruity or dark and intense?"

This came directly from the research: Mariana doesn't know what "washed process" means, but she absolutely knows she likes sweet and fruity things. The quiz translates her intuitive preferences into a filter system she never has to see.

Core feature

Taste Profile

Jargon-free onboarding that builds a filter. Results persist across sessions.

Core feature

Matched Cafés

List ranked by taste match %, not just proximity or rating.

Core feature

Tasting Notes

Log what you tried, rate by preference, refine your profile over time.

04 — Prototype

From paper sketches
to Figma in 3 rounds.

I went from paper wireframes to low-fidelity Figma frames to a high-fidelity prototype. Each round was driven by feedback, not aesthetics. The visual language came last — after the flows were stable.

9:41●●●
What do you love?
1 of 5 · No coffee jargon, promise.
Pick your vibe
🍓 Sweet & fruity
🌰 Rich & nutty
🍫 Dark & intense
🌿 Fresh & floral
Onboarding
9:41●●●
Matched for you
Fábrica Coffee
94% match
Intendente · 0.4km
Filter
Single origin
Copenhagen Coffee
87% match
Príncipe Real · 0.9km
Espresso
Filter
Home feed
9:41●●●
Fábrica Coffee Roasters
Intendente, Lisbon
94% taste match
Light roast specialists. Ethiopian and Kenyan single origins. Known for their fruity filter coffees.
Log a visit
Café detail
9:41●●●
Log this coffee
Fábrica · Ethiopian Yirgacheffe
How was it?
😐
😊
🤩
Notes
Very fruity, almost like juice. Definitely my thing.
Save
Tasting log
05 — Test

5 usability sessions,
3 things that didn't work.

I ran moderated usability tests with 5 participants using a Figma prototype. Each session was ~30 minutes. I gave them 3 tasks: complete onboarding, find a café that matches their profile, and log a coffee after visiting.

Critical

The "94% match" number created confusion

4 out of 5 participants asked "94% of what?" The percentage felt authoritative but unexplained. Fix: added a tooltip explaining how the score is calculated + a small breakdown ("Matches your: roast level, brew method, flavour profile").

Medium

Onboarding felt long on the 4th and 5th question

Drop-off point in testing was between Q3 and Q4. The progress indicator ("1 of 5") made the end feel far. Fix: reframed as "almost there" copy and made Q4–5 optional / skippable on first run.

Low

"Log a visit" CTA was missed on café detail page

2 participants scrolled past it without clicking. It blended in with the rest of the content. Fix: pinned it to the bottom of the screen as a floating action button.

06 — What I Learned

First time through
the full process.

Research changed the direction

I went in expecting to solve discovery. Research showed the problem was decision-making. If I'd skipped interviews and built what I assumed, I'd have built the wrong thing.

Testing earlier would have been cheaper

The "94% match" confusion appeared in the first test. I'd already built hi-fi screens around that number. Paper prototyping this earlier would have caught it before Figma.

Percentage scores need transparency

Any algorithmic score shown to users needs an explanation nearby. "94% match" is meaningless without context — it reads as made-up even when it isn't.

Jargon-free ≠ feature-free

Hiding the complexity (roast profile, process, origin) behind plain language didn't remove the feature — it made it accessible. Power users can still see the details; beginners don't have to.

← Back to portfolio Next case study: ArchAI →