Biteflow

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

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.

view project

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.

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)
NextMnemonic