Open source · Build an AI front desk, in six parts
Small libraries, each with the bug that produced it
Six MIT-licensed TypeScript repositories on GitHub, extracted from the phone receptionist and the projects around it. Every page follows the same shape: the story of how it went wrong, what the library does, what you still have to bring, and how to run it offline first.
Build an AI front desk, part 1
Turn-taking for phone agents
voice-engine
A WebSocket-based AI phone agent that sounds human.
People interrupt, pause and say "uh-huh". This handles turn-taking, so your agent knows when to talk, when to stop, and what the caller actually heard.
- TypeScript
- Twilio Media Streams
- Deepgram Flux
- ElevenLabs
- Claude
Build an AI front desk, part 2
SMS consent, STOP and one send gate
sms-consent
An SMS agent that only texts people who said yes.
Opt-in, STOP in any language and quiet hours sit behind one gate, so your AI can never claim it sent a text it didn't, or send one it shouldn't.
- TypeScript
- Twilio
- SQLite
Build an AI front desk, part 3
Email for agents: send once, tell the truth
email-kit
An email agent that sends once, and tells the truth.
It retries only when it should, never double-sends, skips people who unsubscribed, and reads a spoken email address back before it sends anything.
- TypeScript
- Resend
Build an AI front desk, part 4
Instagram DMs on the official API
instagram-dm
An Instagram DM auto-reply agent, built on Meta's official API.
It connects the webhook, ignores your own echoes and respects the 24-hour reply window, so your bot answers customers without putting your account at risk.
- TypeScript
- Instagram API
Build an AI front desk, part 5
Florida parcels from a typed address
fl-parcel-lookup
A Florida property-records lookup: address in, folio and legal description out.
Three counties spell the same street three ways. It normalizes the address first, so the lookup finds the right parcel and says when it is guessing.
- TypeScript
- ArcGIS
- Google Places
Build an AI front desk, part 6
QuickBooks Online without dead tokens
quickbooks-online-kit
A QuickBooks Online sync engine that keeps its connection alive.
QuickBooks replaces your login token every time you use it. This refreshes it safely, and refuses to create the same invoice twice.
- TypeScript
- Next.js
- QuickBooks Online
Honest status: these are early (v0.x) reference implementations, written with Claude Code and directed and reviewed by me; voice-engine is the first to get a second release, from running it under a real product. Each page lists what has and has not been proven against the live service.