Inspiration
250M+ small restaurants worldwide struggle with menu management across multiple systems. Updating a price means logging into a POS system, a delivery platform, and a website separately — 30+ minutes of manual work for a simple change. I wanted to fix that.
What it does
SmartMenu Agent is an AI-powered menu management system for restaurants. It features two views:
- Owner Dashboard: Restaurant owners chat with Jade, an AI concierge, using natural language to update prices, check stock, and manage dishes. Changes sync to MongoDB Atlas instantly.
- Customer View: Diners ask Jade about allergens, dietary preferences, and recommendations — all answered in real time from live database data.
How I built it
- Frontend: Next.js + Tailwind CSS, deployed on Vercel
- Backend: Spring Boot 3 / Java 21, deployed on Railway
- AI Agent: Google Cloud Agent Builder (Dialogflow CX) + Gemini 2.5 Flash
- Database: MongoDB Atlas (smartmenu-admin cluster, 20 dishes)
- Integration: Custom OpenAPI tool connecting Dialogflow CX to the Spring Boot backend, which reads/writes MongoDB Atlas via MCP Server
Challenges I ran into
- Dialogflow CX passes empty strings instead of null for missing parameters — required custom boolean handling in the backend
- Railway private networking degradation caused intermittent timeouts, eventually resolved by switching to public networking
- Securing credentials across two deployment platforms without committing secrets to GitHub
What I learned
How to build a full end-to-end AI agent pipeline connecting a conversational AI to a live database through a REST backend. Also learned the real complexity of prompt engineering for structured data operations.
What's next
Multi-language support, voice input, and expanding to support full restaurant operations beyond menu management.
Built With
- dialogflow-cx
- gemini-2.5-flash
- google-cloud-agent-builder
- java-21
- mongodb-atlas
- next.js
- spring-boot
- tailwind-css
- vercel
Log in or sign up for Devpost to join the conversation.