back to work
biteflow

QR-based restaurant ordering system

biteflow

A QR-based restaurant ordering system that lets customers scan a table code and order directly, with everything routed live to the kitchen and staff.

reactnode.jswebsockettypescript

metric

live order sync

view project

overview

Real-time table ordering with live WebSocket sync, deterministic order pipeline, and in-app staff assistance requests.

challenge

Replace the friction of flagging down waiters and manual order-taking with a self-serve, real-time ordering flow that stays deterministic and reliable under concurrent table activity.

approach

Built a QR-to-table session flow (no login required) backed by a deterministic order pipeline (pending → preparing → ready → served → paid). Used WebSockets for live sync between customer, kitchen, and waiter dashboards, with station-based kitchen filtering, staff acknowledgment tracking, and a dedicated call-waiter/request-assistance channel.

outcome

Delivered a working end-to-end loop: customers scan, browse, order, and request help instantly, while staff see live order and assistance updates with zero polling. Order state, table status, and payment status stay in sync across all connected clients in real time.

stack

react, vite, typescript, node.js, express, socket.io

highlights

Live WebSocket sync across customer, kitchen, and waiter views
Deterministic 5-stage order pipeline with staff acknowledgment
Kitchen Display View with per-station order filtering (grill, bar, dessert, starters)
In-app waiter call and table assistance requests (water, napkins, help)