Mumi Sushi
A restaurant's whole ordering stack, built end to end.
Designed and built by Mind StudioPublished on the App Store by L & Z SRL SEMPLIFICATA, the restaurant that runs it
Mumi Sushi is a sushi and poke restaurant in Vimercate, near Milan. It needed to take its own orders instead of renting them from delivery platforms — so it got its own stack: native apps for customers, a back office for the kitchen, an app for the riders, and a backend tying all of it to the platforms it still works with.
Everything below — iOS app, Android app, ordering site, back office, rider app, backend, printer bridge — is designed and written by one person. It is the largest thing to come out of this workshop, and the reason a lot of the craft in the other apps exists at all.
A closer look

Menu

Dish

Search

Order ahead
In the customer app
Order in a few taps
Over 230 dishes in 18 categories, with photos, ingredients and allergens. New items and sold-out ones update in real time, so you only order what is actually there.
Follow it to the door
From confirmation to delivery you can see where the order stands, and once the rider leaves you follow them on the map. Notifications mark every step.
Pay how you like
Card or Apple Pay in the app, cash on delivery, or at the counter for takeaway. Card details are handled by Stripe — the restaurant never sees or stores them.
An optional ordering assistant
Type or say what you feel like — "a poke with salmon and avocado", "do you deliver to Usmate?" — and it fills the cart from the real menu. Entirely optional; the menu works fine on its own.
What's in it
Customer app — iOS
A native SwiftUI app that replaced an earlier web wrapper: full menu, step-by-step poke builder, Apple Pay, live order tracking, loyalty points, 13 languages.
SwiftUI · StoreKit · MapKit · APNs
Customer app — Android
The same app rebuilt natively in Compose — visually identical to iOS, but navigating the way Android users expect. Google Pay and Google sign-in included.
Kotlin · Jetpack Compose · FCM
Ordering site
The same menu, cart and checkout on the web — for anyone who would rather not install anything, plus the in-store kiosk and table-QR flows.
Next.js · React
Back office
Where the restaurant actually runs the day: live order board, menu and stock, delivery zones, coupons and loyalty, reservations, reports.
Next.js · role-based access
Rider app
Riders pick up runs, follow the route and settle cash at the end of a shift. Built native on Android specifically to keep reporting location after the screen locks.
Kotlin · Compose · background location
Backend
One API behind every screen: menu, orders, payments, the order state machine, push notifications, loyalty, and scheduled jobs.
NestJS · Prisma · PostgreSQL · Stripe
Platform bridge
Deliveroo orders arrive automatically through HubRise and land in the same board as the restaurant's own — no second tablet on the counter. Adapters for the other platforms are in place.
HubRise · webhooks
Kitchen printing
A cloud print queue plus a small local agent driving the thermal printer over USB, so a ticket still prints when the shop's connection wobbles.
Node agent · ESC/POS
Built with
Links