Work · Case study
Scan the code, split the bill, and leave before the card machine reaches the table.
01 / Challenge
Restaurants run on stacks that do not talk to each other: one system for the point of sale, another for payments, a third for loyalty, a fourth for ordering. Diners wait for a bill, split it awkwardly, and meet a different QR experience at every venue. Operators get no real-time view across locations, and loyalty sits disconnected from the payment it should reward.
02 / Approach
The hard problem was not payment, it was shared state. Several diners look at one check at the same time and each pays a different part of it. Firebase Realtime Database synchronises check state across devices instantly, and each diner gets a virtual per-user view derived from the venue's check — so independent payments settle against one bill without either side seeing a stale total.
Five point-of-sale systems — Toast, Clover, Omnivore, Upserve and GoTab — sit behind a single adapter layer with a dedicated mapper each. Webhooks carry idempotency keys with a TTL and distributed locking, because a POS that retries a webhook must not create a second order. A scheduler pulls orders every few minutes with rate limiting, which keeps the vendor APIs from throttling the integration.
Card details never reach the backend. Spreedly tokenises them, Stripe handles intents and subscription billing, mobile tokens live in the device keychain and the web dashboard uses HTTP-only cookies. The whole backend is Lambda behind API Gateway, so a Friday dinner rush scales without anyone provisioning for it.
03 / Outcome
point-of-sale systems integrated
clusters behind one API
Diners scan, see a live check, split it by item, amount or evenly, and pay with Apple Pay or Google Pay without waiting for staff. Operators run loyalty tiers, discounts, menus, employees and cross-location analytics from one dashboard, with POS sync removing the manual re-entry that used to sit between systems. The serverless backend absorbs peak dining hours with no infrastructure management.