Inspiration
Last-minute cancellations create empty appointment slots, lost revenue, and unnecessary manual work for service businesses. At the same time, customers often have scheduling preferences that traditional waitlists do not remember or act on.
We built SlotSaver to make cancellations recoverable instead of wasted.
What it does
SlotSaver is an AI-powered cancellation recovery engine.
It captures customer scheduling preferences from natural voice conversations, including preferred days, times, providers, flexibility, and willingness to move an appointment.
When a slot opens, SlotSaver filters eligible customers, uses NVIDIA Nemotron to rank the best matches, and uses ElevenLabs voice agents to contact them.
If someone declines or times out, SlotSaver automatically moves to the next candidate. If demand is low, it can also trigger a business-approved incentive while enforcing pricing constraints.
How we built it
Our frontend is built with Next.js, TypeScript, and Tailwind CSS.
The backend uses FastAPI, SQLAlchemy, Pydantic, and SQLite.
NVIDIA Nemotron handles preference reasoning, candidate ranking, and incentive decisions.
ElevenLabs handles conversational voice interactions and outbound calls, with Twilio used for telephony.
The backend keeps critical operations deterministic, including eligibility filtering, policy validation, timeout handling, and atomic rebooking.
Challenges we ran into
The biggest challenge was turning AI decisions into a reliable autonomous workflow.
We had to handle:
- declined offers
- unanswered calls and timeouts
- exhausted recovery queues
- stale state
- double-booking protection
- malformed model responses
- incentive limits and revenue floors
- keeping the voice and AI layers fast enough for real-time interaction
Accomplishments that we're proud of
We built a working end-to-end recovery flow where a cancellation can trigger candidate ranking, outbound contact, automatic queue progression, incentive fallback, and final rebooking.
We also achieved a measured AI decision handoff of about 27 ms, allowing the system to make decisions while the customer is still on the call without breaking the conversation flow.
Most importantly, SlotSaver does not just recommend what should happen next -> it can actually execute the recovery workflow.
What's next for SlotSaver
We want to expand SlotSaver beyond clinics into tutoring centers, salons, barbers, and other appointment-based small businesses.
Our goal is to make SlotSaver a configurable recovery layer that can sit behind any scheduling system and automatically recover otherwise lost capacity.
Built With
- agentic-ai
- conversational-ai
- elevenlabs
- fastapi
- nemotron
- next.js
- nvidia
- pydantic
- python
- react
- sqlalchemy
- sqlite
- tailwind
- twilio
- typescript
- vercel
- voice-ai
Log in or sign up for Devpost to join the conversation.