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
AI Shopify Sales Agent
Selling and fulfilment inside WhatsApp, Instagram and Messenger
View projectAI Real Estate Agent
Qualifies buyers on WhatsApp and books viewings that are genuinely free
View projectTailyr AI Concierge
A grounded, multi-store RAG assistant for high-value retail
View project

