← Back to the case study
// System Architecture

How Ask Siri works.

Six stages across two systems, with one fixed rule: if it isn't in the knowledge base, the agent doesn't say it.

Runs in my own Next.js codeRuns on ElevenLabs' infrastructure
01
Our code

GateProve you're invited.

A password and a resumable ten-minute budget, checked on the server before the microphone is ever requested.

02
Our code

SignMint, don't store.

A signed URL scoped to one private agent, created seconds before it's used, because ElevenLabs' signed URLs expire quickly.

03
ElevenLabs

ConnectHand off the wire.

The browser opens a WebSocket straight to ElevenLabs, and audio runs both ways from there. My server isn't involved once the call is live.

04
ElevenLabs

GroundAnswer from evidence, or don't answer.

Every reply comes from an uploaded knowledge base. If nothing matches, the agent says that's not something I have on file.

05
Our code

EscalateTurn a gap into a lead.

When the agent hits the edge of what it knows, or a visitor wants to be reached, it calls a tool. One logs the gap. The other passes along contact info.

06
Our code

NotifyLand in a real inbox.

The webhook sends an email over SMTP, so Siri hears about it the same day without checking a dashboard.

Guardrails

What it will never do.

It won't quote a salary, guess at availability, give an opinion about someone by name, or speak for Siri on anything he hasn't said. Ask it and it'll tell you so.

Talk to it yourself →Read the full case study →← Back to all files