← Back to Lamia's Library

UX case study · CSE 463 Human-Computer Interaction · Arizona State University

ASU Campus Food Finder

A mobile app that helps students find food that fits the gap between classes, their diet, and their meal plan.

In progress · digital prototyping and user testing

My role

Usability redesign, Figma prototyping of the results-to-decision flow, AI-assisted prototype, context and task analysis

Team

6 students. Labels on each section show which parts were my individual work.

Timeline

September 2026 – December 2026

Tools and methods

Figma (components, variables, conditionals), paper prototyping, usability testing, cognitive walkthrough

The question every screen answers: will I make it to class?

The redesign adds walk time and wait time together and compares the total against the break. A 30-minute break, drawn to scale:

Einstein's 16 min total · Fits · 14 min spare
Chick-fil-A 26 min total · Tight · 4 min spare
WalkWait in lineTime to spare

Problem

Students eating between classes can't tell whether a place fits their break, diet and meal plan without checking several apps.

What I did

Turned usability-test notes into a redesign of three screens, built the results-to-decision half of the Figma prototype, and created the first AI-assisted prototype of a guided alternative.

Where it stands

Each redesign change answers one of the three problems testers hit. A cognitive walkthrough found four more issues, all fixed. Next is a head-to-head test of the two versions.

September · ProblemTeam

Students have 15 minutes and four places to look

ASU students often eat in the gap between classes. Dining information is spread across Google Maps, ASU Dining pages, and word of mouth, and none of them answer the question that matters in that moment: can I get food here and still be on time?

Our team interviewed four students who eat on campus. What they described, paraphrased:

15 minOne student sometimes had about 15 minutes between classes and skipped lunch because of the wait.
45 minAnother spent most of a 45-minute break waiting in one line.
DietA vegetarian student couldn't tell which places had options for her until she checked in person.
Sold outOne waited in a long line, then found out the item he wanted was unavailable.
September · Context and peopleMy part of the PACT analysis

Designing for a phone checked between buildings

People

Students are the primary users and staff are secondary. They differ in diet (vegetarian, vegan, halal, kosher, allergies), budget, schedule, and how well they know campus. Some need wheelchair-accessible locations.

Context

The app is used while walking between classes or on a short break, usually alone and sometimes with a group. Opening hours, line length, crowding, and whether a place takes M&G or meal swipes all decide what is practical.

This set the tradeoff the team designed around: a student with 15 minutes cares about distance and wait time, while a student with an hour cares about cuisine and price. Too much information on screen overwhelms the first student, and too little fails the second.

September · TasksI wrote the task descriptions

Five tasks from the interviews

I turned the interview findings into five task descriptions. A teammate checked them with three more students, which led us to make comparison handle several places at once and to add price and meal-plan balance.

  1. 1Find food that fits the time availableRequired
  2. 2Find food that matches dietary needsHigh
  3. 3Compare nearby places before choosingHigh
  4. 4Check the menu and what's available before goingHigh
  5. 5Choose a place that works for a groupSecondary

We sketched two concepts, a search-and-filter directory and personalized recommendations, and chose search and filter because it gives students direct control over what they see.

October · Paper prototypes and testingTeam

Three students, three tasks, no help

The team drew a storyboard, a horizontal prototype covering the start of all five tasks, and a vertical prototype covering one full task: set your time and diet, see results, check a place, go. Three students outside the team each tried one task on paper while a teammate observed.

  • A vegan student found the diet filter but couldn't tell which restaurants had vegan meals.
  • A student short on time liked the time filter but had to add walk and wait times in his head.
  • A student comparing two places had to switch between pages to see them side by side.
Six-panel hand-drawn storyboard: a student leaves class with 15 minutes, remembers a long bagel line that made her late, filters the app for short waits, picks a place with a 4-minute wait, eats while walking, and arrives on time.
Team storyboard. The persona has 15 minutes before her next class.
Paper home screen with search, Price, Open Now, Time and Diet filters, and two restaurant cards.
V1 · Home
Paper results screen listing Einstein's and Chick-fil-A with walk and wait minutes and compare checkboxes.
V4 · Results
Paper screen reading No place fit, with buttons to change time or filters.
V4b · No results
Paper screen titled Head to Einstein's showing walk time, wait time, opening hours, Get directions and Done.
V6 · Decision
October · RedesignMy work

Turning test notes into three redrawn screens

I collected the test notes, decided what to change, redrew the affected screens, and wrote the rationale. Every change traces back to something a participant struggled with.

Results

V4
Before
Original results: header reads Fits 30 min, Vegetarian. Each card lists walk minutes and wait minutes separately.
After
Redesigned results on dot-grid paper: checked chips for 30 min and Vegan at the top; Einstein's card shows Vegan options 3, 16 min total, Fits; Chick-fil-A shows Vegan options 1, 26 min total, Tight; a Compare 2 button.

What changed

  • Each card shows how many vegan options a place has (Einstein's 3, Chick-fil-A 1).
  • Walk and wait are added into one total, marked Fits or Tight, and results are sorted by total time.
  • Active filters sit at the top as checked chips, which also fixed a header that said "Vegetarian" when the filter was vegan.

Why

  • The vegan tester had to open each place to check. Labels on the card let her see it at a glance.
  • The tester short on time was doing arithmetic. The total answers his real question directly.
Recognition rather than recallMatch with the real worldVisibility of system status

Compare

H4
Before
Original compare screen: two columns, Einstein's and Chick-fil-A, with rows for wait, walk, price, payment and hours.
After
Redesigned compare screen with a back link to results, total time, vegan option counts, Fits and Tight markers, and a Go here button under each column.

What changed

  • Added total time, vegan option count, and Fits/Tight to each column.
  • Added a "Go here" button per column and a link back to results that keeps the selections.
  • Reused the existing compare screen instead of drawing a new one, so comparing looks the same from Results or the Compare tab.

Why

  • The comparison tester had to leave the comparison to make a choice. Now he can decide from it.
Efficiency of useConsistency and standards

Place page

V5
Before
Original place page for Einstein's: Menu, Hours, Wait tabs and a menu list with prices, no dietary information.
After
Redesigned place page: total time, a checked Vegan only toggle, and green vegan labels beside each menu item.

What changed

  • Vegan labels sit beside individual menu items.
  • The "Vegan only" filter carries over from Results, so non-vegan items stay hidden.

Why

  • Users shouldn't have to pick the same filter twice on the way to a decision.
Recognition rather than recallConsistency

I used color only for information that was new in the redesign, one meaning per color:

Diet labels Fits Tight
Late October · Figma prototypeMy work: second half

Building the decision flow in Figma

The team split the vertical prototype. A teammate built Home and the two filters; I built the second half and then linked and tested the full flow. Everything uses the team's shared components. Figma can't filter real data, so I used variables and conditionals to simulate selections and state. The screens below are as I built them, before the walkthrough fixes in the next section.

Figma results screen: checked chips for 30 min and Vegan; Einstein's card with Vegan options 3, 16 min total, a Fits pill, 4 min walk plus 12 min wait and a compare checkbox; Chick-fil-A with Vegan options 1, 26 min total and a Tight pill; a Compare 2 button.
V4

Results

Selected filters stay visible. Each card has vegan counts, walk and wait times with Fits/Tight, and a compare checkbox feeding a "Compare 2" button.

Figma no-results screen: chips for 10 min and Vegan, the message No place fits. Try more time or fewer filters, and Change time and Change filters buttons.
V4b

No results

"No place fits" with direct options to change the time or the filters, so users aren't left at a dead end.

Figma place page for Einstein's: photo placeholder, 16 min total with walk, wait and closing time, Menu, Hours and Wait tabs, Vegan only checked, three menu items with vegan labels and prices, and a Go here button.
V5

Place page

Menu, Hours and Wait tabs, with vegan labels on menu items.

Figma decision screen titled Head to Einstein's with 4 min walk, 12 min wait, open till 3 PM, and Get direction and Done buttons.
V6

Decision

"Head to Einstein's" with walk time, wait time and closing time, plus Get directions and Done.

Home→Time: 30 min→Diet: Vegan→Results→Einstein's→Go here→Done
View the Figma prototype ↗ figma.com
Late October · Cognitive walkthroughTeam

What the walkthrough caught, including in my screens

A teammate walked the full task (find a vegan place that fits a 30-minute break) and asked the four cognitive walkthrough questions at each step. Two of the four issues were in screens I built.

IssuePrincipleFix
The Time and Diet chips on Home were gray on gray and looked like labels, not buttons.Visibility, affordanceTeal outline and an icon on both chips.
"Show places that fit" promised results before the diet step, and the time options had no units.Match with expectations, error preventionRenamed the button "Next: Diet".
Fits and Tight relied on color alone, and "Tight" was never explained.My screenAccessibility, cognitive loadSpelled it out: "Tight: 4 min spare".
The second half used a different font and background, and the decision buttons were all caps.My screensConsistency, system statusSentence-case buttons ("Get directions", "Done") and matching navigation styles.
Late October · AI-assisted alternativeMy work: first AI prototype

Revisiting the concept we passed on

In September we chose filters over personalized recommendations. I created the first AI-assisted Figma prototype from our proposal and task requirements to test the other direction properly: a short guided flow that asks about time, diet and budget, then recommends a few places with a one-line reason each. It covered 11 screens, from a solo-or-group welcome to a no-results screen with alternatives. Teammates then refined the screens and made them interactive.

How I used AI

1Mine

Wrote the brief

I turned our PACT analysis and five prioritized tasks into one prompt: who the users are, where they use the app (walking, on a short break), and what each task has to let them do, including what happens when nothing fits.

2Mine

Steered it away from our own design

I told the AI not to start with a restaurant directory or filter chips, which is what our filter version does. The point was a real alternative to compare against, not a copy.

3Mine

Set the design rules

I spelled out the standards: recognition rather than recall, large touch targets, good contrast, dietary labels on restaurants and menu items, and realistic sample data such as “Updated 3 min ago.”

4Team

Reviewed and refined by people

A teammate reviewed the generated screens against usability principles and improved them with follow-up prompts. Another linked the screens by hand to make the prototype clickable.

From my prompt

Base the app on personalized recommendations. Do not start with a restaurant directory or filter chips. Ask a few short questions, show a few recommendations with a short justification, like "Total time: 12 min. Accepts M&G. Has vegetarian entrees."

Create separate and editable portrait frame for each screen, with consistent visuals, good contrast, and large touch targets. Enable recognition rather than recall, and make selected items obvious.

The justification line in the prompt carried through: the AI version shows exact time math such as “12 min total · 8 min to spare,” which doesn't rely on color the way our Fits/Tight labels did.

Welcome screen with the headline Good food. Between classes., a 20-minutes callout, and Solo dining or Group dining options.
01 Welcome
Step 1 of 3, required: How much time do you have? with 10, 20 and 30 minute options, starting location Hayden Library, and a step-free route toggle.
02 Available time
Step 2 of 3, optional: Any dietary needs? with vegetarian, vegan, halal, kosher and allergy options and a Skip this question button.
03 Dietary needs
Step 3 of 3, optional: budget up to 8, 12 or 18 dollars, payment by M&G, meal swipes or out of pocket, and a plan summary.
04 Budget and payment
Three picks for you: Qdoba at 12 minutes total from 9 dollars, Subway at 14, and Engrained Cafe at 16, each with walk, wait and meal times and minutes to spare.
05 Recommendations
Side-by-side comparison of Qdoba and Engrained Cafe: total time, distance, price, wait, hours, crowd level, dietary labels, payment and access.
06 Comparison
Qdoba details: 12 minutes total, 8 to spare, hours and crowd, and an example menu with vegetarian and vegan labels.
07 Restaurant details
Plan a group break: three people, each with dietary needs, budget and time, plus Add another person.
08 Group preferences
Two places that fit the group, Qdoba and Subway, with how each fits every person and what to verify.
09 Group picks
You're heading to Qdoba: selected meal, a 12-minute total broken into walk, wait and meal, and step-by-step walking directions.
10 Final selection
Nothing fits all needs yet: what's getting in the way for time, budget and diet, with suggested adjustments such as allowing 15 minutes.
11 No results

Screens captured from the Figma file. Use the link below to click through the prototype.

Filter version

Faster for returning users

Restaurants show up on Home right away and filters adjust in place. Fewer screens and taps, but the walkthrough showed the filter chips were easy to miss.

Guided AI version

Clearer for first-time users

One question per screen, a progress bar, and exact time math such as 12 min total · 8 min to spare instead of color alone. More taps.

Try the AI-assisted prototype ↗ figma.com
November – December · NextTeam · planned

Testing the two versions against each other

Design question: does the guided flow help first-time users pick a place that fits their break and diet more accurately than the filter version, and how much extra time does it cost?

We expect fewer errors and higher confidence with the guided flow, at the cost of a longer task. Results go here when the test is done.

Participants

4–6 ASU students who eat on campus between classes, new to both prototypes

Task

"You have a 30-minute break and you eat vegan. Find a place that fits and get directions."

Order

Half start with each version to control for learning

Measures

Completion, time on task, taps, errors, and a 1–7 ease rating

So far · ReflectionMy takeaways

What I've learned

Color can't carry meaning by itself.

My Fits/Tight marker made sense to me and still failed the walkthrough. Writing "4 min spare" works for everyone, including people who can't tell red from blue.

Answer the question the user is actually asking.

Students don't want walk time and wait time. They want to know if they'll make it to class. Doing that addition for them was the most useful change in the redesign.

Reuse a screen before designing a new one.

Reusing the compare screen kept the app consistent and meant one less screen for users to learn.

AI is good for exploring a direction, not for deciding.

The generated prototype gave us a complete alternative to compare against, but it still needed the same heuristic review as our hand-built screens.