Imran Munawar
AI & AutomationWorking demo2026

AI Receptionist

A 24/7 WhatsApp booking agent for appointment-based businesses

My role: Designed and built end to end: agent engine, booking logic, API, dashboard, deployment.

The recorded demo uses the real service menu of A1 Luxury Nail & Spa in New York, a client whose website I also built. The public demo environment is a demonstration, not the client's live line.

Overview

Customers message the WhatsApp number a business already uses. The agent answers from the business FAQ, books, reschedules and cancels against live availability, sends reminders, and hands the chat to a person the moment someone asks for one.

The problem

Small appointment businesses lose bookings when nobody answers WhatsApp after hours. Generic chatbots make it worse: they invent policies, double-book, and cannot tell when a customer wants a human.

The solution

One vertical-agnostic engine with industry packs (dental, clinic, salon, physiotherapy, veterinary, chiropractic, nail spa, gym and more). The language model handles the conversation; availability, booking and reminders are deterministic code with database constraints, so the model can never create an overlapping appointment.

Principal features

  • Books against real availability

    Checks open slots, prevents double bookings with a database exclusion constraint, and confirms in chat.

  • Reminders that act

    24-hour and 2-hour reminders with buttons to reschedule or cancel without leaving WhatsApp.

  • Guardrails

    Refuses medical advice, admits when it does not know, never invents a policy or a price.

  • Human handoff

    "Can I speak to a person?" pauses the agent, flags the thread in the inbox, and lets staff reply then hand back.

  • Owner dashboard

    Inbox, calendar, contacts and analytics computed from real bookings.

  • Onboarding wizard

    Takes a new business from sign-up to a working receptionist in one sitting.

Technical decisions

  • A shared core package holds the engine and vertical packs and cannot import Nest, Next, Prisma or BullMQ, which keeps the business logic testable in isolation.
  • Overlap prevention lives in a PostgreSQL exclusion constraint rather than in application code, so concurrent requests cannot race past it.
  • The demo runs with zero credentials: a simulator channel and a rule-based model stand in for WhatsApp and Claude, so anyone can try it.
  • Built on a 1 vCPU / 4 GB shared VPS: the web app is built locally and shipped as a prebuilt bundle, processes run under pm2 with memory caps.

More AI & Automation