A live NHS public health app, and one question: why couldn't parents act on what they scanned?
The existing market wasn't failing to show nutritional data. It was failing to make it mean anything.
App store reviews for family nutrition apps consistently cite "confusing results" and "no clear next step" among the most common reasons for uninstalling.
{01} — Problem
The app had the data. It never gave users a verdict.
{02} — Problem
Every scan led to a dead end. The feature that could change behaviour was invisible.
The app's most powerful feature — Smart Swaps, which suggests healthier alternatives to a scanned product — was only visible after swiping left, below the fold, on a screen users left within seconds. Only one of six Think Aloud participants found it without a prompt. The feature that separates the app from reading a label was the hardest thing in it to reach.
{03} — Problem
The scan worked. The result never reached the people who couldn't see it.
The strategic breakthrough
Three assumptions research demolished before we redesigned anything
1
2
3
The badge said "Good Choice." The nutrition said otherwise.
Led to:
A contextual nutritional verdict replacing the badge — score, category, and a clear next action
Silence felt exactly like failure
Led to:
A multi-modal feedback system — haptic pulse, auditory tone, and visual state change, each serving a distinct accessibility need
The most important feature required the most effort to find
Led to:
Bottom-tab navigation with four persistent sections — every key feature one tap from any screen
Users read the number. They had no idea what to do next.
Led to:
A barcode-first entry flow with a clear post-scan action — scan → verdict → next step
{01} — Decision
Every feature that mattered was one decision too deep.
feature discovery success rate after restructuring, up from 36% in Think Aloud baseline testing.
{02} — Decision
Accessibility isn't a checklist. It's a promise.
WCAG 2.1 AA compliance for a public-health NHS tool wasn't a design consideration — it restructured the entire interaction model. I built a multi-modal feedback system where every scanner interaction triggers three simultaneous signals: a haptic pulse confirming barcode capture, an auditory tone toggleable for public use, and a visual state change — the scanner frame shifting from white to green with a brief confirmation overlay. Each channel is redundant by design, serving a distinct accessibility need. When accessibility constrains the design from the start rather than being retrofitted, it produces clarity: the requirement to make every state legible to a screen reader forced every state to be explicit — which made the app clearer for sighted users too.
{03} — Decision
Getting from a scan to a better choice took seven steps. Most people quit.
The app answered "what is this?" and then went quiet. To act on the answer — to find a healthier version — users had to leave the result screen, guess which section held alternatives, and dig. In testing only 36% got there; the rest searched, browsed categories, opened unrelated screens, or gave up, and five of six needed a hint or failed outright. I collapsed the journey into the result screen itself: scan → verdict → one tap to a swap, a comparison, or an explanation. The lookup still runs underneath; the user's job ends at the verdict.
What this proves
The same goal, two architectures. The original made users leave the result screen and hunt for the next step — and lost most of them on the way. The redesign puts the verdict and the next action in the same place. The database didn't change; the user's journey stopped being a maze.
Three moments where the obvious answer was wrong
{01} — Discovered in Think Aloud testing
Navigation & discoverability
Think Aloud testing showed only 36% of participants could find the app's core features without guidance — and just one of six found the healthier-swaps feature unaided. The cause wasn't the labels. It was a structure that kept every feature one decision deep: swaps and comparison buried inside "My lists", the navigation bar vanishing in detail screens, no map back.
/
Option A — keep the structure, add a search bar
Adding search is the low-effort fix — no restructuring. But search doesn't fix structure. A user who doesn't know Smart Swaps exists will never search for it. Rejected — the symptom treated, the cause untouched.
/
Option B — bottom tab bar, four persistent sections
Scan, History, Swaps, Learn — every core function one tap from any screen, and the bar never disappears. Higher development effort and a minor visual rebrand. The return: the discoverability failure resolved at the structural level, not patched at the surface. Shipped.


{02} — Discovered in heuristic evaluation + reviews
78% couldn't recover from a failed scan. A better error message wasn't enough.
Failed-scan recovery
/
Option A — rewrite the error message
Replace "Product not found" with a friendlier, more specific message. Low effort, and it reads better. But a clearer dead end is still a dead end — the user with a product in hand still has no way to reach its nutrition. Rejected — the words changed, the outcome didn't.
/
Option B — give the failed scan somewhere to go
An actionable error that offers the next move: one-tap product-name search, a way to add the missing product, and a prominent retry. The barcode stays the fast path; search and contribute are the fallback. Backend work to accept user-submitted products. Shipped — every scan now has a route forward.


{03} — Discovered in Think Aloud testing
Scanner feedback
/
A circular spinner while the scanner processes, then a brief success message. But this gives feedback after the scan, not during it. The uncertainty happens between pointing the camera and confirming the barcode was detected, and a visual spinner is invisible to a screen reader. Rejected, right intervention, wrong moment.
/
Option B — haptic + auditory + visual confirmation at detection
Three simultaneous signals the moment the barcode is detected: a haptic pulse, a single soft tone (toggleable for public spaces), and the scanner frame shifting from white to green with a confirmation overlay. Redundant by design, each serving a distinct accessibility need, and meeting WCAG 2.1 SC 1.3.3. Shipped.


The product, annotated
{01} — Scan & verdict
Scan to verdict in two taps; the scan-to-action gap closed.




{02} — Smart Swaps
Healthier alternatives at the moment of decision — not three scrolls away.
{03} — Barcode-first entry
Barcode-first, three steps; from 4.2 minutes to 2.5.
{04} — Accessibility & edge cases
Designed for the users the original app couldn't reach.



Faster. Accessible. Used.
Feature discovery success rate
Up from 0% on the original scanner. Every user can now complete a scan through three simultaneous feedback channels.
Reduction in food entry time
The scanner always worked. After the redesign, haptic pulse, auditory tone, visual state change, users finally knew it had. Screen-reader completion on the same interaction went from 0% to 100%.


















