Streaming AI restaurant host
The Copper Larder
Hannah — an AI front-of-house concierge for hospitality sites.
- Role
- Solo · design, build and ship
- Focus
- AI · Web
- 8
- stage request pipeline
- ~19
- zero-token intercepts
- 0
- raw IPs stored
- SSE
- streamed replies
Overview
A conversational menu and booking assistant for a modern British bistro — streamed from the model, grounded in real data, and wrapped in the cost controls, guardrails and abuse protection a public LLM endpoint actually needs.
What it does
- Streaming replies with a proactive, time-aware greeting
- Rich dish and info cards built only from typed restaurant data
- Conversation-wide dietary lock — “I’m vegan” in message 2 still holds in message 20
- Inline callback lead capture feeding an owner dashboard
- Accessible dialog: focus trap, aria-live streaming, reduced motion honoured
Engineering decisions
01
The model is the last resort, not the first
Session caps, complaint handoff, regex intercepts and an exact-match cache answer first; only stage 7 costs a token.
02
Guardrails that correct the model
A reply that confirms availability is caught, rewritten with a correction, and blocked from the cache.
03
It always degrades gracefully
Model down, rate-limited or key missing — every path returns a warm, on-brand message and a callback card.
Stack
- App
- Next.js 16React 19TypeScriptTailwind v4
- AI
- Gemini 2.0 Flash@google/genaiSSE
- Data
- Supabase PostgresRLSZod