All projects

Production /2025 /AI · Full-stack

Servio AI

A multi-tenant AI-powered QR menu and ordering platform for restaurants: the guest scans a QR, an AI waiter recommends, and the kitchen sees it instantly.

How it works

  1. 1

    Open with a QR

    The guest scans the table QR; the menu and AI waiter open in a second.

  2. 2

    AI waiter suggests

    Menu-grounded, allergen/diet-safe recommendations and smart upsell.

  3. 3

    Kitchen sees instantly

    A confirmed order lands on the kitchen (KDS) and waiter screen in real time.

  4. 4

    Manage from one panel

    Multi-tenant admin + Agent Studio to manage menus and AI rules.

Architecture

Guest scans QR Next.js 14 App Router PostgreSQL RLS · multi-tenant Deterministic filter lexicon + allergens Qdrant vector similarity OpenAI ranks only Kitchen (KDS) real-time

Problem

Restaurant QR menus are usually a static PDF; guests cannot decide, waiters get called constantly, and upsell opportunities are lost. Running many restaurants from one system, each with its own menu and rules, is a separate challenge.

Solution

Next.js 14 (App Router) and TypeScript; multi-tenant on PostgreSQL with row-level restaurant_id isolation (RLS). Scanning a QR offers three paths: a fast menu, Chef’s picks, and a TR/EN AI waiter. AI answers are menu-grounded: deterministic lexicon/keyword + per-item profiles + hard allergen/dietary filters run first, then an OpenAI model only ranks the candidate pool; Qdrant (self-hosted, jsonb fallback) handles vector similarity. A kitchen display (KDS), waiter screen, table sessions and an admin Agent Studio live in one system. Deployment on a VPS with Docker + Nginx, CI/CD via GitHub Actions.

Results

Built to production standards; runs with live VPS deployment, CI/CD and multi-restaurant setup. An AI ordering experience that talks like a real waiter, never invents off-menu items, and prioritizes speed (targeting p95 < 2s for policy-only answers).