Ordering Platform for a Multi-Restaurant Chain

Every channel lands in one kitchen queue, with fewer missed orders and menus in sync across outlets.

Cooks preparing orders at the pass in a busy restaurant kitchen
Sector
Food & Hospitality · Restaurants · Food delivery
Built with
  • Next.js
  • Node.js
  • PostgreSQL
  • Webhooks

01 · Discover

What the client needed

A restaurant chain took orders from several delivery apps on separate tablets, plus phone orders. Menus and prices drifted between apps and outlets.

Requirements

  • Every delivery app’s orders in one kitchen queue
  • Direct online ordering to reduce commission on repeat customers
  • One menu with prices and availability per outlet
  • Mark items sold out everywhere at once
  • QR ordering at the table
  • Sales and order reports by outlet and channel

Constraints

  • Kitchens are busy: screens must be simple and fast
  • Unreliable internet in some outlets
  • Delivery app integrations have strict rules and rate limits

02 · Pitch

What we proposed

We spent time in two kitchens during service before proposing anything.

Options we weighed

  • Recommended

    One ordering platform with a kitchen display

    Every channel in one flow, with menus managed centrally.

  • An off-the-shelf aggregator tool

    Merges orders, but no direct ordering or per-outlet control.

  • Separate fixes per channel

    Keeps the tablets and the double entry.

What we agreed

  • Order intake from delivery apps first, then direct and QR ordering
  • A central menu manager with per-outlet overrides
  • Offline-tolerant kitchen screens

03 · Build

How we built it

Orders from every channel are normalised into one format and sent to the right outlet’s kitchen screen.

Every requirement, and what we built for it

RequirementWhat we built
One kitchen queueDelivery app orders received by webhook and shown on a single kitchen display
Direct orderingA fast web ordering site and checkout under the chain’s own brand
Menus in syncA central menu with per-outlet prices and availability, pushed to every channel
Sold out everywhereOne switch that updates the item across all apps and the website
Table orderingQR codes per table that open the outlet’s live menu
ReportingSales and order volume by outlet, channel, and time of day

Platform and architecture

Ordering site and kitchen display
Next.js
Order service
Node.js with webhooks for each delivery platform
Data
PostgreSQL for menus, outlets, and orders
Resilience
Kitchen screens that queue actions and catch up after a dropped connection

04 · Handover

Launch and handover

We rolled out one outlet at a time and trained each kitchen during a quiet shift.

  1. Pilot outlet, then a staged rollout
  2. Hands-on training for kitchen and front-of-house staff
  3. Menu manager training for the central team
  4. Support during the first weekends of each outlet

05 · Outcome

The outcome

Every channel lands in one kitchen queue, with fewer missed orders and menus in sync across outlets.

Every channel lands in one kitchen queue, and the central team controls menus for all outlets from one place.

  • Fewer missed orders and no more tablet juggling
  • Menus and prices consistent across apps and outlets
  • A direct ordering channel the chain owns

Have a project like this?

A few lines is enough. You’ll hear back from an engineer, not a salesperson.