Dream AI Hackathon 2026 · San Francisco · Finalist

DISPATCH

AI voice agent that refills cancelled appointments for SMBS

Role: Agent & Orchestration Lead · Team of 4 · Built in one day

The Problem

When a client cancels late, a barber loses the slot and the client pays a fee. Nobody wins. Filling the gap means texting a waitlist one by one between cuts, and by the time someone replies, the slot is usually gone.

The Idea

Cancel free, as long as we fill your spot. When someone cancels, an AI voice agent calls the shop's waitlist one person at a time. The first person to say yes gets booked, and only then is the original client's fee waived. That gives clients a reason to cancel early instead of ghosting, which turns no-shows, which can't be filled, into cancellations, which can.

How It Works

  1. A client cancels. The slot opens on the shared calendar and their fee is held as pending, not charged.

  2. Dispatch picks the first person on the waitlist.

  3. A Claude Managed Agent writes a brief for that specific customer.

  4. The ElevenLabs voice agent calls them, using the brief as context.

  5. On a no or a hang-up, Dispatch moves to the next person.

  6. On a yes, it checks the calendar, books the slot, and waives the original fee.

My Role

I led the agents and orchestration: the part of Dispatch that decides who gets called, what the agent is allowed to do, and when money changes hands.

  • Two Claude Managed Agents. One learns a business from its website and turns it into a structured profile. The other writes a personalized brief before every call.

  • The refill engine. The core logic the final demo ran on. One call at a time, next person after a no, a calendar check before accepting "can I do 3:30 instead?", booking the first yes, and waiving the fee only after the booking succeeds. It ignores duplicate or late results and falls back to a template if Claude is slow, so a call never stalls.

  • API routes for importing a business, cancelling a slot, and tracking a refill live.

  • Testing and QA. Five end-to-end scenarios, including unavailable times, hang-ups, and everyone declining, with about 4 seconds between calls. Live testing caught four voice-agent bugs, like double-confirming a clear yes and pitching other times after a no. All four were fixed before the demo.

  • Presented the live demo on stage.

Built With

Claude Managed Agents (Anthropic API) · ElevenLabs Agents · TypeScript · NestJS · React · SQLite · Claude Code

Hackathon prototype. The voice calls and AI agents are real; the calendar and fees are simulated.

Team: Lucas Yoo · David Tilšer · Harshith Ande · Robin Desandre