A simulated takeaway app that runs the full ordering ritual, then hands you back the money, the calories, and the control, instead of the food.
For frequent delivery-app users, the trigger usually isn't hunger. A 2025 study of 383 young adults found fatigue — not hunger — was the top reason people opened a delivery app (65%), and over 60% said a coupon alone was enough to spark an order. That same group scored higher on uncontrolled eating and lower on the ability to stop themselves once they'd started. It's a habitual loop — browse, order, track, repeat — running on exhaustion or mood, not need. Could a product give that loop somewhere to go, without the food or the spend, and still leave someone feeling in control instead of on autopilot?
Mockroo is a digital placebo, not a real transaction. It replicates a genuine UK delivery experience end to end — real menus from real merchants, a cart, a simulated Apple Pay checkout — and runs an authentic 20–30 minute countdown matched to a real delivery window, so the anticipation plays out on its natural timeline. Nothing is actually ordered or charged. When the countdown ends, instead of food showing up, an unwrapping interaction reveals what the user would have spent and eaten — money saved, calories avoided — building into a running monthly total that turns restraint into something visible and cumulative, rather than just an absence.
The core loop works — after several rounds of iteration, the flow and the reward moment both land. What's unresolved is authenticity on the input side: swapping placeholder content for real merchant photography and live product data, so it reads as a real app rather than a mockup. That's what I'm still actively solving. On the build side, Claude handled interaction and state logic well; anything requiring real backend infrastructure — live data, persistent state across long idle periods — still needed manual debugging.
![[BMW image]](assets/work/bmw-hero.webp)
![[Breakthrough Agenda image]](assets/work/breakthrough-hero.webp)
![[Green Legacy image]](assets/work/green-legacy-hero.webp)
![[Clipper image]](assets/work/clipper-hero.webp)