A voice agent that takes the call and finishes the job
Phone and in-app voice agents built on low-latency speech pipelines. They hold a real conversation, call your booking, CRM, and order systems to actually do the thing, and transfer to a human with the full context the moment the call goes outside their scope.
24/7
Call coverage, no rota
3+
Years building production systems
0
Unscoped write permissions
Built on the realtime speech and telephony stack
Why voice bots get hung up on
Callers do not hate automation. They hate waiting for it.
Every voice deployment that gets abandoned fails on the same handful of things, and four of the five are engineering problems rather than script problems.
I build against the opposite constraints: a latency budget set before the architecture, barge-in support so the caller can interrupt, tool calling into the systems that make the call useful, warm transfer with the transcript attached, and per-call tracing from the first production call.

What makes a caller press zero:
- 01
Latency you can hear
A second and a half of silence after the caller stops talking reads as broken. Latency budget is an architecture decision, not something you tune at the end.
- 02
It cannot be interrupted
Real conversations overlap. An agent that keeps reciting through an interruption feels like an IVR menu with a nicer voice.
- 03
It talks but cannot act
Explaining the booking process is not booking. Without tool access into the real systems, the caller still ends up doing the work themselves.
- 04
The handoff loses everything
Transferring to a human who has to ask for the name, the order number, and the reason again is worse than never having answered.
- 05
No transcript, no accountability
Without recordings, transcripts, and per-call tracing, nobody can tell why a call went wrong or prove what the agent committed to.
100%
Calls transcribed and traced
1
Latency budget set before build
0
Blind transfers to a human
What a voice build covers
From a call flow on paper to a number people can ring
The speech pipeline, the conversation design, the tool layer, and the handoff. Each stage produces something you can hear or inspect.
Call-flow design & spec
Before anything is built we write down what the agent may say, what it may do, what it must never do, and the exact conditions that hand the call to a person. That document is what you approve.
- Intent and outcome map per call type
- Explicit out-of-scope behaviour
- Escalation triggers written down
- Compliance and disclosure lines
The stack behind it
Voice is a latency problem wearing a conversation costume
Most of the engineering in a good voice agent is not in the prompt. It is in the milliseconds, the interruptions, and what happens when a tool call is slow.
The pipeline that decides whether the agent feels like a conversation or a hold message.
What gets built
Voice agents callers do not try to escape
The difference between an agent people talk to and one they press zero through is almost entirely in this list.

Natural, interruptible conversation
Streaming speech in both directions with barge-in, so a caller can cut in halfway through a sentence and be heard. The latency budget is set before the architecture, not tuned after the complaints.
- Streaming speech-to-speech
- Interruptions handled mid-sentence
- Filler handling while tools run
- Voice and pacing tuned per brand

Actions, not just answers
The agent books the slot, checks the order, updates the record, or raises the ticket through scoped calls into your real systems, with anything irreversible or financial behind an explicit confirmation.
- Calendar, CRM, and order integrations
- Scoped permission per action
- Spoken confirmation before writes
- Graceful failure when a system is down

Warm handoff to a person
When the call goes outside scope, the human picks up with the transcript, the intent, and the records the agent already pulled. The caller never starts again from their name.
- Transcript and summary on transfer
- Trigger on confidence or sentiment
- Screen-pop for the receiving agent
- Callback path when nobody is free

Grounded in your real content
Answers about policy, pricing, or products come from retrieval over your own documents rather than the model's memory, with the same confidence floor and refusal behaviour as a text assistant.
- Retrieval over policy and product docs
- Refusal below a confidence floor
- Live lookups for price and stock
- No invented commitments on a call

Every call inspectable
Recording, transcript, and a trace of every tool call the agent made, plus an after-call summary written into your system of record so the next person has the history without listening to audio.
- Recordings and searchable transcripts
- Tool-call trace per conversation
- After-call summary written back
- Escalation and drop-off analytics
Want to hear one before you commit to anything?
Voice is the one thing you cannot judge from a document. Describe the call type you have in mind and you will get an honest read on latency, what it can realistically handle, and where a human still has to sit in the loop.
Conversational systems in production
Agent work I have shipped
Assistants and autonomous agents running against real queues, real tools, and real escalation paths. Problem, architecture, and my role on each.

Customer Support Agent
A support team answered the same routine requests by hand, re-reading the help centre and past tickets for every one. Anything that needed an actual change, such as a record updated or a status corrected, meant leaving the ticket and doing it in another system, and escalations reached the next tier as a raw transcript with no context attached.

AI Chatbot Builder
Agencies wanted to embed branded AI assistants on client sites but lacked a platform to manage per-client knowledge bases and measure how the assistants actually performed.

Digital FTE Dashboard
Operations teams managing Digital FTEs across multiple clients had no single view of agent activity, approvals, or system health. Performance data lived in separate tools, Oracle for ERP records and Odoo for invoicing, so reviewing and approving agent work meant switching between several dashboards.

Task Automation Engine
Incoming work items arrived unstructured, requiring manual triage, validation, and routing before anyone could act on them, a bottleneck that grew with volume.
Where voice agents earn their place
Same pipeline, different thing at stake on the call
Latency, interruption handling, and warm transfer are constant. What changes is what the agent is allowed to commit to without a human.

Appointments & scheduling
Booking, rescheduling, and reminder calls against a live calendar, with confirmation spoken back before anything is written.
- Live calendar availability
- Reschedule and cancel flows
- Spoken confirmation before booking
- Outbound reminder calls
How a voice build runs
Hear it early, scope it hard, scale it last
Voice is judged in the first ten seconds of a call, so a callable prototype comes before almost everything else.
Call-flow spec
The call types, what the agent may commit to, what it must refuse, and the exact escalation triggers. Some call types are ruled out here deliberately.
Deliverables
- Call-flow document
- Scope boundaries
- Escalation triggers
Callable prototype
A test number you can ring within the first weeks, so latency, voice, and interruption behaviour are judged by ear rather than described in a document.
Deliverables
- Test number
- Latency measurements
- Voice selection
Tool integration
Wiring the agent into the calendar, CRM, or order systems that make the call useful, with permissions scoped per action and confirmation on writes.
Deliverables
- Integration wiring
- Permission scopes
- Failure behaviour
Handoff & guardrails
Warm transfer, screen-pop context, refusal paths, disclosure lines, and the behaviour when a backend call times out mid-sentence.
Deliverables
- Transfer flow
- Guardrail suite
- Timeout handling
Call-set testing
A fixed set of scripted and adversarial calls run against the agent before launch, so regressions are caught by a test rather than a customer.
Deliverables
- Regression call set
- Scored results
- Failure analysis
Launch on real numbers
Production routing with recording, transcripts, tracing, and cost-per-call dashboards live from the first call.
Deliverables
- Production routing
- Call analytics
- Cost dashboards
Tune, then scale volume
A tuning window on real traffic before routing more call types to the agent, with the escalation log driving what gets fixed next.
Deliverables
- Tuning report
- Updated call set
- Volume rollout plan
Why work with me
Voice agents that survive contact with real callers
Demos are recorded in a quiet room by someone who knows the script. Production is an impatient caller on a bad line who interrupts.
Latency is a design constraint
A per-hop latency budget is set before the architecture, because you cannot retrofit responsiveness onto a pipeline built without it.
It has to be able to act
Tool calling into your real systems, scoped per action, with confirmation on anything irreversible. An agent that only talks moves the work rather than removing it.
The handoff carries context
Warm transfer with transcript and intent attached. Making a caller repeat themselves is the fastest way to lose the goodwill the agent just earned.
Every call is inspectable
Recording, transcript, and a trace of every tool call, so a bad call can be explained rather than argued about.
12+
Projects shipped end to end
3+
Years in production software
100%
Calls traced and transcribed
0
Blind transfers by design
Frequently asked
Questions people ask before we start
Have a phone line eating hours that nobody enjoys?
Tell me what the calls are and what a good outcome looks like. You will get an honest read on which call types a voice agent can take today, which ones it should not, and what the build looks like.