Recent work/MenuLingo
Case study · 2025–2026
The menu speaks every language your diners do.
MenuLingo turns one restaurant menu into 100 languages, tags every dish for allergens, and serves it from a single QR code on the table. Designed, built and shipped solo.
100
Languages
27
Tables in schema
6 wks
Built solo in
auto
AU → US substitutions
The problem
Tourists can't read your menu. Allergy guests can't risk it.
A regional restaurant in Perth was hand-printing four paper menus in different languages, photocopying them to wear out, and still missing diners with coeliac disease, tree-nut allergies, or shellfish reactions.
The owner's ask was small: "can we just have one menu people can read?" The hidden ask was bigger — a way to update prices weekly without a reprint, log every allergen substitution, and stop relying on a 19-year-old waiter's memory.
What diners see
One QR code. The diner picks the language.
Same menu, three languages. Click any image — it opens full-size with arrows to flick through.
The solution
Four design decisions that did the heavy lifting.
Translate once, cache forever
Claude Sonnet 4.5 handles batch translation in a single API call — including Australian → American substitutions (capsicum → bell pepper, prawns → shrimp). Translations are cached the moment they're generated.
Allergen-first UX
Every item is tagged at write-time. Diners filter by 14 allergens before the menu loads. Confidence levels — definite, likely, possible — surface honestly when the kitchen isn't 100% sure.
QR code on every table
Short codes (6 chars) redirect to the menu page. Restaurants print once, update weekly. Error correction level Q means a coffee splash still scans.
Decoy pricing on signup
The Starter tier is deliberately limited so the Pro tier — $5 more — feels like the obvious choice. Conversion lift, baked into the UX.
Try it
Switch languages →
Pre-baked translations · no live API
Same menu, four languages
On the live product, Claude Sonnet handles 100 languages with Australian → American substitutions baked in. For this portfolio piece, the translations are pre-rendered.
Le Fournil — Lunch
Seasonal · Wood-fired · Small plates
Heirloom tomato salad
Burrata, basil oil, sourdough crumb
$24
Wood-fired lamb shoulder
Slow-cooked 8 hours, salsa verde, charred lemon
$38
Roasted capsicum & ricotta tart
Filo pastry, thyme, pine nuts
$22
Fig & honey tart
Mascarpone, walnut praline
$16
And this
Generate a real QR code →
Live demo · runs in your browser
Generate a menu QR code
Type any URL — the QR rebuilds instantly, on your device. No server, no API call, no cost.
Built with
Tech stack
Need something similar?
I build single-purpose products like this for B2B clients.
If you've got a stubborn workflow that should have been software five years ago, let's talk.
Get in touch