AI Menu Ordering Platform
A bilingual restaurant app where the LLM drives the cart live, mid-stream.
Client work — case study anonymized; architecture and metrics are real.
The trick: structured tags in the stream
The assistant streams its reply over server-sent events, and embedded in that stream are structured tags the client parses progressively — add these items, remove those — so the cart updates live while the model is still talking. A documented fallback-tag strategy keeps the cart correct even when the stream is cut mid-tag.
Output sanitization strips tool-call echoes and timing banners before anything reaches the customer, and heartbeats keep mobile connections alive.
Voice ordering, both directions
Customers can speak their order — a waveform visualizer runs while recording — and the full experience works in English and Arabic. The frontend is 108 components with a build-time sitemap generator, a hand-written Content-Security-Policy, and a templating system for multi-restaurant theming.
— capture coming soon —
Operated like a product
The backend runs behind a dual-layer cache with stale-if-error fallback for branch configuration, and ships with a symptom→cause→action debugging guide and an eight-section integration handbook. CI enforces an 80% coverage floor over 115 tests, with load tests alongside.
Latency work was measured, not guessed: a controlled A/B harness compares the raw model against the full agent wrapper on identical queries to isolate framework overhead, and a time-to-first-token probe checks whether trivial queries pay a complexity tax.
Built with
Every technology this project runs on, and the job it does here. Each one links to the other projects it appears in.