If your support team cannot answer every signup, an AI support agent may absorb the first pass. AssemblyAI's Joey does that on top of the Claude Agent SDK, with local markdown docs, Voyage embeddings and a Railway deployment. The 80% figure is AssemblyAI's own, and the design details matter as much as the number.
What Is AssemblyAI's AI Support Agent, Joey?
Joey is AssemblyAI's AI support agent, an internal system that handles inbound support conversations and escalates the rest to humans. AssemblyAI, a voice AI infrastructure company that trains its own speech-to-text models, built Joey after an off-the-shelf bot resolved only about 10% of conversations. Matt Lawler, the company's forward deployed engineer lead, presented the build at AI Engineer World's Fair 2026, a conference session published in October 2026.
Joey is first in line for every inbound conversation, including the site chat widget, contact sales, and the support alias. According to Lawler, no customer reaches a human without going through Joey first and asking to escalate. That single funnel is what makes the resolution figure measurable at all; a bot that only sees a subset of tickets can post a high rate without touching the hard cases.
AssemblyAI reports that the company sees around 1,000 API signups per day, and that Lawler was until recently the only onboarding engineer. The support bot was built to keep that ratio workable rather than to replace the support team.
How Joey's Architecture Works
Joey runs on the Claude Agent SDK, which gives the agent a file system, tool calls, and the ability to write and debug code. The architecture Lawler described has four parts: local markdown documentation, embeddings for retrieval, agentic file search, and a containerized deployment.
- Local markdown docs. Every documentation page, changelog entry, and pricing page is checked out as markdown files and refreshed when the docs site publishes. The files carry their source URLs so Joey can cite them.
- Embeddings. AssemblyAI uses Voyage AI embeddings to surface the most relevant documents before the agent starts searching, which shortens the path to an answer.
- Agentic search. When a question needs several resources stitched together, Joey searches the local file system instead of relying only on the top retrieval hits.
- Instructions. The behavior lives in a Claude.md file that Lawler described as roughly 30,000 lines of guardrails and guidance, updated whenever a bad conversation is found.
- Deployment. The whole thing is containerized with Docker and shipped on Railway. Lawler said a fix can go from pull request to live in about 30 seconds.
AI Support Agent Metrics: The 80% Claim and Its Source
The 80% resolution rate is AssemblyAI's own reported result for its internal deployment, not an independent benchmark. Lawler said the system went from a 10% to an 80% end-to-end resolution rate in the first week, on what he called a naive implementation, with roughly 20% of conversations escalated to a human for reasons such as rate changes, data opt-outs, or agreements that need a person.
Two details keep the figure honest. First, the funnel: every inbound ticket passes through Joey, so the denominator includes the hard cases. Second, the cost basis: Lawler put combined token, inference, and infrastructure spend at about $700 a month, without publishing a per-ticket breakdown or a comparison against human-handled costs.
Treat this as vendor-reported performance in a single company's support organization. It does not establish that an AI support agent resolves 80% of tickets at other companies, in other languages, or on other product surfaces. The reusable part is the architecture and the escalation loop, not the percentage.
From Support Bot to Voice Agent: How Joey Got a Voice
Joey's voice mode uses AssemblyAI's Voice Agent API, which strings speech-to-text, a language model, and text-to-speech over a single WebSocket connection. In the 2026 conference demo, Lawler ran a local simulation in which Joey answered a question about executing a HIPAA business associate agreement, noted that a paid account with a card on file was required first, and pointed to the relevant documentation in chat.
The voice layer handles the parts that are easy to underestimate: real-time latency, turn taking, interruption handling, and barge-in. AssemblyAI supplies its own voices, so the agent does not need a separate text-to-speech provider, and the same tools available in text mode stay available in voice mode.
Lawler described this as dogfooding. By building a voice agent on the same AssemblyAI Voice Agent API that customers use, the forward deployed engineering team runs into the same latency and turn-taking problems it later helps customers debug.
What AssemblyAI's Build Reveals About Forward Deployed Engineering
The talk's argument for forward deployed engineers is that they should automate themselves out of routine work. A forward deployed engineer, in AssemblyAI's framing, is embedded with customers, commits code into customer repositories, and owns technical and commercial outcomes for inbound accounts. That model does not stretch to 1,000 signups a day with one onboarding engineer.
The off-the-shelf bot failure is the instructive part. AssemblyAI could not change the vendor's system prompt, tools, or retrieval pipeline, and requests for fixes came back as roadmap items. Building in-house on the Claude Agent SDK gave the team control over every layer, and the escalation queue became a to-do list: each thing Joey cannot do yet points at a capability to add.
The same principle applies to anyone weighing an AI support agent build. Owning the prompt, the tools, the retrieval layer, and the deploy path is what makes iteration fast enough to matter. A vendor-hosted bot with a closed configuration loop removes exactly the controls that shorten the fix cycle.
Which Parts of the Joey Stack You Can Reuse
The reusable pieces differ in difficulty. Local markdown documentation and a disciplined escalation queue are cheap and portable. Retrieval quality, voice latency, and container deployment are where the engineering time goes. The table below separates the layers by what they demand.
| Layer | Tool in Joey | What it buys | Main cost or limit |
|---|---|---|---|
| Agent runtime | Claude Agent SDK | File system, tools, self-debugging | Tied to one vendor's SDK |
| Knowledge | Local markdown docs | Answers during a docs outage, citable sources | Requires a docs-to-markdown sync |
| Retrieval | Voyage AI embeddings | Fewer wasted search steps | Extra vendor dependency |
| Deployment | Railway | Fast, low-maintenance releases | Platform ownership of the runtime |
| Voice | AssemblyAI Voice Agent API | Speech-to-text, LLM, and text-to-speech over one WebSocket | Real-time latency work remains |
A team starting from scratch can copy the funnel discipline before copying the stack. Routing every conversation through one agent and logging every escalation produces the data needed to decide what to automate next. Jumping straight to a large instruction file before that data exists tends to encode guesses.
Where an 80% Support Agent Stops Being Provable
Vendor-reported resolution rates answer a narrower question than they appear to. The 80% figure covers AssemblyAI's inbound conversations in the first week after launch, as described by the engineer who built the system. It does not carry a published definition of what counts as resolved, a sample size, or a holdout comparison against human-only handling.
Cost claims have the same shape. The roughly $700 monthly figure bundles token, inference, and infrastructure spend, and AssemblyAI has not published a per-conversation breakdown. Voice minutes, retrieval calls, and escalation handling all scale differently, so the number will move as volume changes.
The clearest way to judge any AI support agent claim is to ask three questions: does every ticket pass through the agent, what counts as resolved without a human, and who measured it. AssemblyAI answers the first question unusually well by design. The second and third remain first-party.
FAQ
- What is AssemblyAI's Joey? Joey is an internal AI support agent built by AssemblyAI, a voice AI infrastructure company that trains its own speech-to-text models. It handles inbound support conversations across chat, sales contact forms, and the support alias, and escalates cases that need a human.
- How many tickets does Joey resolve? According to Matt Lawler, AssemblyAI's forward deployed engineer lead, Joey reached an 80% end-to-end resolution rate in its first week, up from about 10% with the previous off-the-shelf bot. That figure is the company's own report from its internal deployment.
- What does Joey cost to run? Lawler put combined token, inference, and infrastructure costs at around $700 a month. The number is a first-party total, not a per-ticket figure, and it will shift with conversation volume and voice usage.
- What is Joey built on? Joey runs on the Claude Agent SDK with local markdown documentation, Voyage AI embeddings for retrieval, agentic file search across the local file system, and a Claude.md instruction file that Lawler described as roughly 30,000 lines. It is containerized and deployed on Railway.
- How fast can you ship a fix to Joey? Lawler said a fix can be written as a pull request and be live in about 30 seconds, which let the team patch a bug during a live customer conversation. That speed comes from the containerized deployment on Railway rather than a managed vendor platform.
- Does Joey have a voice mode? Yes. Joey's voice mode uses AssemblyAI's Voice Agent API to connect speech-to-text, a language model, and text-to-speech over a single WebSocket, with interruption handling and turn taking built in. Lawler demonstrated it at AI Engineer World's Fair 2026.
- Why did AssemblyAI replace its off-the-shelf support bot? The vendor bot resolved about 10% of conversations, and AssemblyAI could not change its system prompt, tools, or retrieval infrastructure. Fixes depended on the vendor's roadmap, which was too slow for the inbound volume the team faced.
- Does an 80% resolution rate mean the same result for other companies? No. AssemblyAI's figure comes from one support organization with a single funnel and no published definition of resolved. It is evidence that high end-to-end rates are achievable, not a benchmark that transfers to other products.
- What should a team copy first from this build? Start with funnel discipline and escalation logging. Routing every conversation through one agent and recording every escalation produces the data that tells you what to automate next, before any investment in retrieval or voice.
- How does this relate to digital content projects like Crazystack Typescript or Bootcamp do Dev Doido? Those are separate education efforts by Gustavo Dev Doido, focused on TypeScript training rather than support automation. Crazystack Typescript and Bootcamp do Dev Doido share the same teaching goal: helping developers ship working software, and more at crazystack.com.br.
Turning a Support Transcript Into a Publishable Article
The interesting part of AssemblyAI's build is not the 80% number. It is that a recorded talk carried enough architecture detail, cost figures, and caveats to reconstruct a working design. That is the same material a support team, a teaching channel, or a developer educator already has sitting inside videos.
If you have explained a system on camera, the reasoning, the tradeoffs, and the failures are already recorded. Skalablog turns a YouTube URL into a transcription and then into a structured article, so the knowledge survives outside the video and can be read, searched, and cited. You can start at Skala Blog.
Fork this article
Start a new branch from the same video, shaped your way. You keep the credit; the original keeps the attribution.
A fork in another language is filed as a translation of this article, so the two pages point at each other. You can unlink it later from the editor.
0/240
You are creating
- Format
- For
- Language
- Source
- Your angle
You will be asked to sign in before it is generated.
Buy credits