TableSide.
A restaurant ordering platform with two faces: an owner dashboard for menus and inventory, and a fast customer ordering flow, both running on one shared backend.
- Type
- Concept build
- Role
- Architecture, full-stack build, UI
- Year
- 2026
- Next.js
- PostgreSQL
- GraphQL
- Tailwind
NOTE // This is a concept build: a self-initiated project that shows how I would architect this kind of product. It is not a client engagement, and the targets below are design goals, not reported results.
Technical_Hurdle:
Developing a unified system for restaurant owners and customers while managing real-time inventory and custom menu modifiers.
Execution_Resolution:
Built a multi-tenant Next.js application with a shared GraphQL API. Implemented a custom UI state machine for menu modifiers to ensure data integrity across both interfaces.
The Approach
- 01
One schema, two products
Owners and customers read the same menu graph. Owner-only fields are resolved behind role checks, so there is a single source of truth and no sync job between two apps.
- 02
Modifiers as a state machine
Rules like 'pick 1 to 3 toppings' or 'no extra sauce on the kids menu' are modelled as explicit states, so the cart can never hold an order the kitchen can't make.
- 03
Live inventory
When an item sells out, the owner flips one switch and customer menus update instantly through subscriptions instead of on the next page load.
Design Targets
- Menu edits visible to customers in about a second
- Zero invalid modifier combinations reaching the kitchen
- One codebase and deploy for both sides of the platform