Home About Projects Resume

YumGo - UX Case Study

Led a team of 4 from research to a tested prototype, and rebuilt a broken filter mid-study so testing could go on.

Overview

Led a team of 4, from research to the tested prototype

Providing comfort in unfamiliar places

YumGo is a food discovery app for tourists. When you're somewhere new, with dietary needs or a certain vibe in mind, it helps you find a place that feels right before you walk in.

  • !The problem Finding restaurant details often means bouncing between apps, with missing menus and info you can't trust.
  • Why it matters Decision-making quickly becomes stressful on top of other travel pressures.
  • +The solution One app for the whole journey, from discovering to dining, so you know what to expect before you sit down.

Result

Designed my version of the final prototype

YumGo (Taylor's Version)

Everyone on the team finished their own final prototype. Mine reflects the fun of travelling, while bringing the comfort of apps you already know. Try it yourself!

Every screen, from discovering to dining

Home: a map of nearby places, with a list you can pull up Home, list expanded: photos, ratings, distance, price and dietary icons at a glance Filters: every icon has a label, plus price and distance sliders Restaurant info: real photos, hours, price, and what the restaurant offers Menu: dishes matching your filters are pinned to the top Reviews: the most relevant first, with photos Booking: reserve a table without leaving the app Directions: route and arrival time to the restaurant Group voting: everyone votes on where to eat Discover Toronto: dining tips, tipping, and local foods to try

What came out of it

  1. Every feature tied to research Insights from interviews led to the menus that list allergens, notes on local customs, restaurant tags, and photos that showcase each place's vibe.
  2. Filters that finally worked Inconsistent filter selection stalled our first 2 test participants. After I rebuilt it, all 6 remaining participants finished the task without getting stuck.
  3. A shared brief for the team I wrote and maintained a shared brief so all 4 of us were working from the same findings and the same scope.

The process

How we got there

  1. Problem
  2. Secondary research
  3. Interviews
  4. Prototyping
  5. Testing

Problem

Eating while travelling should be good and easy. No ifs, ands, or buts.

Unfamiliarity is often what creates such novel and exciting travel experiences. It's all fun and games, until you're tired, short on time, juggling a group… and then hunger hits.

Now you're bouncing between apps to find the info you actually care about. Where do you start if you can't even think straight?

Problem Statement Tourists need a personalized and centralized way to discover and book restaurants while abroad, so that their travel experiences can be memorable, culturally-immersive, high-value, and easy.

Secondary research

Convinced the team to pivot from speed to authenticity

We (wrongfully) assumed it was all about time

We started out with the assumption that tourists wanted food ASAP so they could get back to sightseeing. Early research suggested otherwise, since wait times barely came up.

  • !Missing information Incomplete business and menu info
  • !Weak discovery & booking Apps didn't support the full journey
  • !Irrelevant content Full of noise and unwanted results
  • +Desire for authenticity! Tourists wanted local, quality meals

Not everyone was ready to let go of the original idea, but I emphasized how it's important to move in the direction that the research is pushing us.

The takeaway We shifted gears away from wait times and toward the authentic experiences that weren't showcased in current apps.

Interviews

Co-wrote the guides, moderated 2 of 8 interviews, and ran our affinity mapping

Travellers wanted to dine with certainty

We ran 8 interviews with recent tourists about travel, food, and the apps they use for both travel and food. I co-wrote the screener and interview guide, moderated 2 interviews, and took notes on 2 more. Then I ran our affinity mapping session to pull everything together.

Affinity map: how might we notes in columns for personalized results, belonging, trust, and health and safety Interview synthesis: 8 participants compared on dining factors, information gaps, cultural barriers, and decision pressure Persona: Pat, the Picky Western Taster, a 34-year-old remote worker from Chicago who needs vegan and peanut-free options Persona: Halsey, the Busy Eastern Foodie, a 22-year-old international student who wants accurate, real-time restaurant info User flow: from the home screen to a restaurant's menu, then save it, book a table, or get directions Early sketches: paper sketches of 8 screens, from home and restaurant details to booking, directions, wishlist, and cultural discovery

On the surface, people talked about menus, reviews, and photos, but thematic analysis revealed that they all wanted a sense of familiarity in an unfamiliar place.

The takeaway People wanted to feel like they'd been somewhere before they walked in the door, so we focused on cultural connection and seeing the menu ahead of time.

Prototyping

Defined our main user path, built the main restaurant page, and kept teammates' screens consistent

So… what do we make?

We got a little too excited about features to add, so I defined our main user path early to keep us on track. Then I built the wireframe for the restaurant page, including its info, menu, and reviews, and revised teammate screens to keep a consistent visual language.

Home map Restaurant info Booking Menu Reviews Directions Learn About Toronto Wishlist

Our 2 rules moving forward

  1. Less is more! Fewer features to better support one complete journey
  2. Familiarity is the way Borrow from apps people already know

Testing

Rebuilt the broken filters between tests

Clarity had to be improved… a lot

I co-wrote our usability test guide, and 8 participants tried 2 tasks in our Figma prototype:

  1. Book a table somewhere dog-friendly with vegan and gluten-free options
  2. Write a review afterwards

MAYDAY

Task 1 sent people straight to the search filters, which was full of broken toggles, and both of our first 2 participants got stuck here. OH NO!

I knew that if we left it, a big portion of testing time would be wasted revealing something we already knew. Since I knew Figma's variables and components best out of the team, I tackled the problem in the couple of hours before the next session. I successfully rebuilt the filters' variables, components, and interactions so that every toggle responded as expected.

Before
Initial version: not all filter buttons updated as expected
After
Updated version: icons are now properly selectable and deselectable

Left: the initial toggle, where not all filter buttons updated as expected. Right: icons are now properly selectable and deselectable, and their status is reflected in the restaurant list.

All 6 remaining participants used the filters without getting stuck, and the rest of the sessions surfaced things we didn't already know. I felt like a superhero. Phew!

What we discovered

  • !Filters were unclear People still didn't know what the icons meant
  • !Key info was easy to miss Too much text buried what mattered

The fix · Labels for every icon, and less text

From tested to final

Tested
Filters as tested: icon-only buttons
Labelled
Filters with a label on every icon, plus price and distance sliders
Final
Final filters, restyled: every icon labelled, with price and distance sliders

Participants didn't understand the icon-only filters, so every icon got a label. Months later I restyled the whole app, checked it against WCAG AA and touch guidelines, and brought group voting and Discover Toronto into a Community tab. The filters work the same way, but I haven't tested this final version.

Design system

Set up the tokens, components and documentation

When I polished YumGo for my portfolio, I rebuilt the components and styles on a full design system.

  1. Reusable restaurant page for all restaurants I used variable modes to swap the content on the restaurant page, keeping consistency between 5 restaurants.
  2. 31 component sets Tab bars, headers, footers, filter chips, and more, each with descriptive variant states.
  3. AA contrast throughout Every text pairing is at least 4.5:1, and every icon has a text label.
TierTokensExample
Primitive211, hiddencolours/brand/700
Semantic117bg/brand
Component51button/primary/bg
Token tiers
Restaurant tabs component in all 4 states: Info, Menu, Reviews and Directions selected
Restaurant tabs · all 4 states
Filter icon component in all 6 variants: off and on, as a small icon, a large icon, and a labelled chip
Filter icon · all 6
Tab bar component in all 5 states: none selected, then Explore, Community, Wishlist and Profile selected
Tab bar · all 5
Open status component in both states: Open until 10 PM, and Closed, open 11 AM to 10 PM
Open status · both states
Text ↓ Background →canvassurfacesubtlebrand-subtlebrandaccent
fg/primary16.0 AAA15.1 AAA13.6 AAANot usedNot usedNot used
fg/body13.0 AAANot used11.0 AAANot usedNot usedNot used
fg/secondary6.7 AA6.3 AA5.7 AANot usedNot usedNot used
fg/link7.7 AAA7.3 AAA6.6 AA6.4 AANot usedNot used
fg/warningNot usedNot used8.3 AAANot usedNot usedNot used
fg/inverseNot usedNot usedNot usedNot used7.7 AAA7.2 AAA
Contrast matrix · Pairings used in the prototype

Reflection

What I learned

  1. Taking on too much work isn't leading Halfway through, I caught myself rewriting teammates' sections as we pulled things together, which made me the bottleneck. So I moved the work earlier: we agreed on direction, scope, and reasons before anyone started drafting, and I kept it all in one shared brief (our findings, what we were still working on, and what we'd dropped). Whenever the work started drifting off-scope, the brief brought us back in.
  2. Leadership is hard to judge from the inside While I tried my best to be a "good leader", there were times I felt like I wasn't leading the team well, like when we felt confused or took the project in different directions. At the end, one teammate told me unprompted that I was a good leader, which meant a lot. This taught me to check in more with my peers, not for reassurance, but to make sure they are getting what they need.
  3. Moving in reverse is still moving It was hard to backpedal on wait times, features, and stylistic directions. However, I learned to hold ideas loosely and see pivots for what they really are: improvements!
hello@taylorfergusson.com LinkedIn