A food ordering system that follows the order from the kitchen to the door
A food ordering platform for restaurants and their customers: a Flutter app for Android and iOS, a Node.js backend, live order and delivery tracking on Google Maps, push notifications and an admin panel.
Plateful - A food ordering system that follows the order from the kitchen to the doorThe challenge
Ordering food is a promise with a clock on it. The customer has to see what is happening to their order without asking, the restaurant has to hear about a new order the moment it is placed, and a payment that half-completes cannot leave an order in limbo. That is a realtime problem and a payments problem at the same time, on a phone that may lose signal mid-order.
Food & delivery. Plateful.
Our approach
Order state lives on the backend and is pushed out, rather than being polled by each app, so the customer, the restaurant and the admin panel all read the same status. Firebase carries the realtime updates and push notifications, Google Maps carries location and delivery tracking, and a payment SDK handles checkout. The Node.js API owns the rules: what an order can move to next, and what happens when a payment does not finish.
Designed, built and shipped end to end.
What we built
- Flutter customer app for Android and iOS: cuisines, restaurant menus, a cart with an Add to cart total, and promotions
- Node.js backend for restaurants, menus, orders and payments
- Realtime order status shared between the customer app, the restaurant and the admin panel
- Push notifications at each step of an order
- Delivery tracking and location on Google Maps
- Payment SDK checkout
- Admin panel to manage restaurants, menus, orders and users
The results
Built end to end: the mobile app, the backend and the admin panel. The screens shown are the app's own.
2 app stores, one Flutter codebase
A white-label property platform where every agency is its own isolated tenant
Want results like this?
Tell us what you're working on and what's slowing you down. A short call is usually enough to know whether we're the right fit - no proposal required first.


