Work · AI product
Baristalk
Scan a table QR, speak your order in any language, it lands on the counter priced and paid.
What it is
A multi-tenant voice ordering product I built in five days and piloted at my own café. Guests talk to a Gemini Live barista grounded in that business's menu, in Kannada, Hindi, English or whatever they speak. The order appears on a staff tablet as an accept, prepare, pay card. All menu, persona, languages, currency and geofence settings come from per-tenant configuration, never from code.
What was hard, or unusual
- The system prompt, voice and tools are locked into a single-use ephemeral token on the server. The browser connects to Gemini directly but can never read or alter the prompt.
- Prices are never computed by the model. The order tool sends item ids and the server prices them from the live catalog.
- Voice minutes are metered as the unit cost, which is what prices the product.
Stack
AngularNestJSNxGemini LiveAudioWorkletFirestoreCloud RunPWA