Back to work

ai

FrontDesk

FrontDesk

FrontDesk answers a business's calls and texts, books appointments against real availability, and runs reminders and no-show follow-up on its own. One multi-tenant platform, set up per business.

FrontDesk is a front-office platform for businesses that run on appointments. A voice agent answers the phone and a text agent handles SMS. Both work from the same tools and the same booking engine, so a caller and a texter get the same answers and the same open times.

Availability is calculated from each service's length and buffers, provider hours, days off, a minimum notice window and a booking horizon, all in the business's own time zone. Double-booking is blocked by exclusion constraints in Postgres. When two people reach for the same slot, the second booking is refused and the caller is offered other open times.

Each business gets its own terminology, greeting, voice and hours. The platform runs with three fictional demo businesses: a dental practice, a home-services company and a restaurant. Restaurant reservations use real floor-plan logic: table sizes, combined tables for larger parties, turn times, indoor and outdoor seating, and a cap on covers every 15 minutes. Reservations are written through atomic database functions, so a party that loses the race for the last table fails cleanly instead of half-booking.

Questions about hours, policies or a menu are answered from documents the business uploads, using vector search over those documents. A similarity threshold makes the agent say it doesn't have the answer and offer to take a message instead of guessing.

Every booking gets a confirmation. Scheduled jobs then send reminders a day and two hours ahead, flag no-shows, send texts offering to rebook, and email the owner a summary each morning. Automated texts wait out quiet hours, and STOP and HELP replies are honored.

Owners work from a dashboard with: - a calendar and contacts - an inbox that threads calls and texts from the same person and flags conversations that need a human - analytics on calls answered, after-hours calls, bookings by source and no-show recovery

Accounts are provisioned rather than self-serve, each business's data is isolated with row-level security, and one login can manage more than one business.

The public demo runs on live phone lines, with a calendar on the landing page that updates as bookings land. End-to-end tests run on Playwright.

Tech stack

Next.jsTypeScriptTailwind CSSSupabasePostgreSQLpgvectorClaudeRetellTwilion8nResendVercelPlaywright