Working demo

Ask about me. Out loud.

Rather than describe the voice work, here it is. Talk to this agent and it will answer questions about my background, my scope, and what I am looking for. It only knows what I have told it, and it will say so when it does not know something.

Latency is shown per stage on every turn, because in voice the number that decides whether someone stays on the line is not accuracy, it is how long they sit in silence.

Your voiceTranscribeReasonSpeakPlayback

Chris Aleman · Background agent Idle

Press Start call and allow the microphone. Try "what did he build at IntelePeer?", "how big a team has he run?", or "what kind of role is he looking for?"

Microphone required

How it is grounded

The agent answers from a fixed knowledge file I wrote by hand. It is not searching the web and it is not reasoning freely about my career. If you ask something the file does not cover, it is instructed to say so and point you at my email rather than fill the gap.

That constraint is the whole point. An agent that improvises about someone's work history is worse than no agent, and the failure is invisible until someone repeats the invention in an interview. The prompt also refuses compensation questions and will not characterize decisions made by a former employer.

How it is built

Three model calls chained behind one endpoint, with the key held server-side in a Cloudflare Function. The browser sends audio and receives audio. It never sees a credential.

The engineering that matters is the constraints: a cap on audio length per turn, a cap on reply length so the speech bill cannot run away, conversation history trimmed to the last few turns, and a graceful path when speech synthesis fails so the turn returns as text instead of dying.

What separates this from production

The round trip you are seeing is what a batch pipeline costs. A deployed agent is architected differently, and the difference is worth naming precisely rather than hand-waving at it.