ShiftOpsRestaurant Operations Control Room
Portfolio Project · Operations + SQL + Event Systems

Run dinner service like an engineer.

ShiftOps models a restaurant as a live operations system. Tables open, checks grow, payments arrive, incidents appear, and the same shift can be investigated with real SQLite — all inside one static webpage.

Shift status
Ready
5:00 PM
Net sales
$0
open + closed checks
Active tables
0
currently seated
Avg check
$0
closed checks
Open incidents
0
requires attention
Operational health
Open incidents are prioritized here.
Healthy
Live event feed
What the simulated system is doing right now.
Streaming
Active floor
Table assignment, ownership, check totals and table age.
Payment ledger
Every payment recorded during this shift.
0 payments
PaymentCheckServerTypeCheck totalPaidTipTip %Time
Loading SQLite…
Run a query to inspect the live shift database.
Incident queue
Operational anomalies generated by the live simulation.
Raw event stream
Business actions represented as machine-readable events.
0 events
Architecture notes
Why the project is structured this way.

Relational data: servers, restaurant_tables, checks, payments and incidents use IDs and relationships instead of one giant flat object.

Event-driven simulation: seating, check updates, payments and incidents generate timestamped events.

SQLite in WebAssembly: the SQL console queries a real SQLite database in the browser. The current simulation state is mirrored into SQLite whenever business data changes.

Human-in-the-loop handling: suspicious data is surfaced for review instead of silently “corrected” when intent is uncertain.