CallEats
ActiveFeatured

CallEats

AI-powered restaurant voice assistant with semantic search

Technologies

FastAPIVapi.aiOpenAISupabaseRedisReactReact QuerySentry

CallEats — AI-Powered Restaurant Phone Assistant (Portfolio Case Study)

Overview

CallEats is a production-grade portfolio project: a voice assistant that answers restaurant phone questions (menu, hours, delivery zones, modifiers) using restaurant-specific data. It includes a dashboard where a restaurant can manage that data and review call transcripts.

The problem this project targets

Restaurants receive repetitive calls during service hours. These calls interrupt staff, create inconsistent answers, and are easy to miss during peak periods. A useful solution needs both:

  1. A voice assistant that can answer accurately
  2. A simple way for the restaurant to keep information up to date

What I built

1) Voice assistant with restaurant-scoped answers

  • Voice assistant that answers questions about menu items, pricing, modifiers, operating hours, and delivery coverage
  • Phone number routing so one system can serve multiple restaurants while keeping each restaurant's data separate
  • Natural language understanding so customers can ask questions conversationally (e.g., "Do you deliver downtown?" or "What can I add to my burger?")

2) Operations dashboard

  • Dashboard showing daily call statistics and recent call history
  • Menu builder where restaurants can add categories, items, modifiers, and upload item images
  • Delivery zones management with map-based boundaries, delivery fees, and minimum order requirements
  • Operating hours configuration per day (including closed days)
  • Call history with full transcripts and call metadata (duration, cost, outcomes)

3) Reliability and freshness

  • Call tracking remains reliable even when webhook delivery fails (automatic fallback to fetch call data)
  • Faster responses for repeated questions through intelligent caching
  • Automatic updates: when restaurants update menu/hours/zones in the dashboard, the assistant's knowledge updates in the background

Technical deep dive

How it works

When a customer calls, the system identifies which restaurant they're calling, searches that restaurant's information (menu, hours, zones), and answers their question through the voice assistant. The restaurant can update their information in the dashboard, and those changes automatically become available to the assistant.

Loading diagram...

Technology stack

  • Backend: FastAPI (Python) with authentication, rate limiting, and error handling
  • Voice AI: Vapi.ai platform for natural voice conversations
  • Search: Semantic search that understands natural language queries (not just keyword matching)
  • Cache: Intelligent caching for faster repeated queries
  • Frontend: React dashboard for restaurant management
  • Infrastructure: Production deployment with monitoring and error tracking

Key technical decisions

  • Multi-tenant architecture: One voice assistant serves multiple restaurants while keeping each restaurant's data completely isolated
  • Webhook reliability: Dual tracking mechanism ensures call data is captured even if webhook delivery fails
  • Automatic updates: When restaurants update menu/hours/zones in the dashboard, the system regenerates searchable content in the background

Want to Build Something Similar?

I specialize in building production-ready AI systems that scale. Let's discuss your project.