← Back to the case study
// System Architecture

How Ask Siri actually works.

Six stages, two systems, and one rule that never bends: if it isn't in the corpus, the agent doesn't say it.

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

GateProve you're invited.

Password, plus a resumable ten-minute budget, checked server-side before anything so much as thinks about opening a microphone.

02
Our code

SignMint, don't store.

A signed URL scoped to one private agent, generated seconds before it's used. ElevenLabs' signed URLs don't stay valid long, so neither does the wait.

03
ElevenLabs

ConnectHand off the wire.

The browser opens a WebSocket straight to ElevenLabs. Audio runs both ways from here — my server steps back and lets it.

04
ElevenLabs

GroundAnswer from evidence, or don't answer.

Every reply is retrieved from an uploaded corpus, never invented. No match in the knowledge base means no answer, just an honest 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 real email over SMTP. No dashboard to check, nothing lost in a queue — Siri hears about it the same day.

Guardrails

What it will never do.

Quote a salary. Guess at availability. Share an opinion about someone by name. Speak for Siri on anything he hasn't actually said. Ask it directly — it'll tell you the same thing.

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