Northwind Heating & Cooling is a fictional company.
Everything else is the production system: the same telephony, the same AI
tool loop, a real calendar it genuinely checks before offering a time. Tell
Maya your furnace died and she runs a real dispatcher's triage — which
system, what it's doing, a gas-and-CO safety screen, who's in the home
— then routes you: on-call technician with an arrival estimate, or the
right visit on the calendar. The flight recorder shows every decision land.
The call
Uses your microphone. A short live call — hang up any time.
Flight recorder
This panel narrates the machinery during your call:
the signed session token, the triage classification the
moment Maya has asked enough (system · symptom · severity
· routing), the real calendar lookup with its timing
(watch the cache turn 1.4 s into 0 ms), and the
booking when it lands. Mention a gas smell and you'll see the
red safety stop instead.
The week it’s reading — live
This is the company’s actual job calendar, fetched
over CalDAV — the same one the dispatcher checks before offering you
a time. Ask for a slot inside a grey block and she’ll tell you a
technician is already out on a job. Book a free one, and your visit
pops in below while you’re still on the call.
Jobs already bookedBooked on your call
✓Screens every call for gas & CO risk✓Triages before it ever offers a time✓Never quotes prices✓Never diagnoses over the phone✓Says it's an AI when asked✓Books straight into the calendar
Things worth trying
"My furnace is blowing cold air."
Feel the follow-up questions narrow it down before any times come up.
"I think I smell gas near the furnace."
Booking stops. Safety script first — watch for the red entry.
"The heat's out and my mother is 84."
That changes the routing: on-call dispatch with an arrival estimate.
"How much would a new AC run me?"
It declines to quote, politely — the technician prices on site.
AnswerVapi telephony streams the caller to a FastAPI service
exposing an OpenAI-compatible endpoint; Claude runs a native tool loop.
TriageA classification tool must run before any booking: system,
symptom, hazard screen, severity. Emergencies route to the on-call
technician with an ETA; everything else books the right visit. Each
decision shows in the recorder as it happens.
Check & bookAvailability comes from live CalDAV free/busy
— cached per profile, so repeat lookups fell from 1.47s to ~0ms
(≈10× less calendar load). Bookings write real events.