Challenge
We were not designing for a stable context. The pandemic was ongoing, restrictions were changing week to week, and user behaviour had already shifted in ways people had not fully processed. The design had to work under current restrictions without becoming irrelevant the moment those restrictions lifted.
The second tension was inside our own process. We built the prototype directly from the needs gathered in participatory workshops. That gave us confidence in the concept but also created a blind spot: when you design around stated needs, you can miss how those needs interact once they become a live interface. The booking flow looked correct on paper. Testing would answer whether it actually held up, but the answer was not entirely positive.
Process
Research
We ran three focus groups with nine participants to understand how COVID had changed behaviour around going out. The finding was clear: spontaneous visits had been replaced by deliberate ones, and people expected health compliance to be visible before they arrived. Online booking had shifted from convenience to necessity.
We then ran participatory design workshops with ten stakeholders across three groups: customers, restaurant workers, and people with web development backgrounds. Using paper prototyping and brainstorming, we surfaced what the app needed to do and how it should be structured. Those sessions produced the core navigation model: a Discovery page combining map and card views, a Search page with filters for dietary needs, mood, and activities, a restaurant detail page showing Covid guidelines alongside menus and reviews, and a booking flow with calendar, party size, and time slot selection.
Prototype
We built user flows and sketches from the research findings, then designed an interactive high-fidelity prototype in Figma to cover the full journey: account creation, discovery, filtering, restaurant details, booking, confirmation states, cancellation, and profiles. There were seven flows, fully connected and testable.
Usability testing
We tested the prototype with eight participants across six task-based scenarios. Three structural failures emerged. The booking confirmation flow did not clearly distinguish a pending state from a completed action: several participants waited on the screen, assuming the app was still processing. The cancellation page was visually close enough to the previous screen that most participants did not register that they had taken a separate step. The map view, which had ranked as essential in the workshops, was invisible to almost every test participant because we had placed it where users expected to find search.
Outcome
Testing caught three structural failures before a single line of code was written. Each failure was specific, reproducible across multiple participants, and fixable. We delivered prioritised recommendations across all six task flows with a clear next step: implement the changes and run a second round of testing before development began. The full process was documented and submitted as the final deliverable for our MSc programme at SDU.