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
Share this project:

Updates