SyncBite a multi-tenant restaurant OS with ordering, kitchen display, loyalty and WhatsApp campaigns
One SaaS platform for POS, kitchen display, loyalty, reservations, WhatsApp campaigns and an AI copilot.
- 99
- Cloud Functions
- 76
- screens
- 9
- languages
- 32
- permission keys
The problem
A restaurant usually buys five tools that never talk to each other: POS, kitchen display, loyalty, bookings and marketing. Five subscriptions, five data silos, and the same guest shows up in five places.
Overview
I built and launched SyncBite myself at syncbite.io. It is multi-tenant: each restaurant is isolated from the others in the database rules themselves, not just in the interface. The UI is Arabic RTL first and runs in nine languages.
What I built
- 99 Cloud Functions on Firebase, 16 of them scheduled daily jobs
- 76 screens in nine languages with full Arabic support
- A permission model of 32 keys across 7 roles
- A 15-state order machine driven by an explicit transition table
- An AI copilot that runs 8 real actions, with the permission checked on the server every time
- A WhatsApp outbox that separates operational from marketing traffic, capped at one marketing message per guest per 24 hours
- A content engine that has published 132 articles in nine languages; internal links to articles went from 37 to 355 after a Search Console audit
The engineering call
The key lesson came from the money path. A double credit happened once when the PayPal webhook raced the purchase-confirmation function. The fix is an idempotency key claimed with a Firestore create(), so a repeated attempt fails on its own instead of slipping through.