Inspiration
Restaurants want faster, friendlier ordering without the friction of apps or tablets—and hiring lots of waitresses just to take orders is expensive. We wanted to cut that cost while giving customers a better experience: one link that turns into an AI waitress who knows your menu and takes orders by voice. Your human waitresses can then focus on what matters most—bringing food to the table and looking after guests—instead of running around taking orders. No app install, no extra hardware—just talk.
What it does
Niobe is an AI waitress for restaurants. Owners upload photos of their menu; we extract dishes and prices automatically. They get a single link to share (QR code, website, table tent). Customers open the link, talk to their waitress by voice, have a real conversation, and place orders. That means cost savings: you need fewer staff dedicated to order-taking, and your human waitresses can focus on bringing food to the table and giving great service instead of writing down orders. Orders can be sent to email, webhooks, or the restaurant’s order management system.
How we built it
- Web app (Niobe): Laravel + Vue 3 + Inertia. Restaurant dashboard, waitress creation, menu upload. Menu extraction from images via Laravel AI + Gemini (structured JSON: items, categories, prices).
- Voice agent: Go service that handles live voice sessions, connects to Google Live Connect (or similar), uses the waitress’s menu and context from the DB.
- Data: PostgreSQL (Cloud SQL); waitresses, menu items, and extracted context stored per waitress.
- Deployment: Monorepo with Terraform on GCP (Cloud Run for both Laravel and Agent, Artifact Registry, Secret Manager, optional custom domains). Cloud Build for CI/CD; path-based triggers so Laravel and Agent deploy independently when their paths change.
Challenges we ran into
- Menu extraction: Getting consistent, structured JSON from varied menu photos (currencies, layouts, handwriting). We tuned prompts and normalized output (categories, numeric prices) and added fallbacks for empty or unclear images.
- Voice + context: Keeping the agent aligned with each restaurant’s menu and personality while staying fast. We preload waitress context and menu into the agent so responses stay accurate and on-brand.
- Deploying a monorepo: Running two services (Laravel + Go agent) with separate Dockerfiles and path-based Cloud Build triggers so only the changed app deploys.
Accomplishments that we're proud of
- End-to-end flow: From “upload menu photos” to “customer orders by voice” in one product, with no app install.
- Real operational impact: AI waitresses handle order-taking at scale, so restaurants can save on labour and let human staff focus on bringing food and hospitality—not just taking orders.
- AI that actually helps: Real menu extraction (Gemini) and voice ordering that feels like a conversation, not a form.
- Production-style infra: Terraform, Cloud Run, Cloud SQL, Secret Manager, and optional custom domains (e.g. niobe.live, agent.niobe.live) so the project can run like a real product.
- Clean separation: Web app for restaurant owners, lightweight Go service for the voice agent, and clear APIs between them.
What we learned
- Voice UX is different from chat: latency and turn-taking matter a lot; we learned to design for “talk, then listen” and clear feedback.
- Vision APIs are strong for menu photos but need strict output schemas and normalization for prices and categories.
- Monorepo CI/CD with path-based triggers saves time and keeps Laravel and Agent deploys independent and predictable.
What's next for Niobe
- Turn it into a SaaS: Whether I win the Gemini Live Agent Challenge or not, I plan to keep building Niobe into a SaaS product and try to create as much real-world value from it as possible.
- Richer order routing: Native integrations with POS and order-management systems, plus templates for email/Slack.
- Analytics: Order volume, popular items, and simple insights for owners inside the dashboard.
- Multi-language and accents: Better handling of multiple languages and accents for the voice waitress.
- Customization: Let owners tune personality, greetings, and suggested upsells so each AI waitress feels like their brand.
Log in or sign up for Devpost to join the conversation.