External app / Live / Full-stack product engineering

TavoloBot

A live reservation platform for small restaurants, with web chat, Telegram, staff tools, and production deployment.

  • Next.js
  • React
  • FastAPI
  • PostgreSQL
  • Telegram
  • Docker
  • Hetzner
TavoloBot cover visual

Why it exists

Small restaurants need a simple way to take reservations without handing the whole customer flow to a big booking platform.

TavoloBot keeps booking chat-first, with a form when customers want structure. Staff manage reservations, tables, changes, and settings from one protected dashboard.

Build choices

The app uses Next.js, FastAPI, and PostgreSQL. Reservation rules stay server-side: availability, self-service links, receipts, table assignment, statuses, and staff permissions.

Web chat and Telegram share the same reservation services, FAQ source, conversation state, and safety boundaries.

Production runs on a Hetzner VPS with Docker Compose, Caddy, SMTP, CI, and automated deploys.

What it proves

  • A customer-facing product can stay small, self-hosted, and credible.
  • Chat can lead the experience without bypassing safety rules.
  • Staff workflows matter as much as booking.
  • WhatsApp or voice can be added on top of the same reservation core.