---
schema: 1
type: video
title: We Built an AI Support Agent That Resolves 80% of Tickets — AssemblyAI
description: >-
  1,000 API signups a day and one onboarding engineer. So AssemblyAI built Joey.
  Matt Lawler, forward deployed engineer lead at AssemblyAI, shares how his team
  replaced an off-the-shelf support bot that resolved 10% of conversations with
  their own agent, Joey, which resolves 80% end to end for about $700 a month.
  Joey is built on the Claude Agent SDK with docs checked out as local markdown,
  embeddings for retrieval, agentic file search and a large CLAUDE.md. It's
  deployed on Railway so fixes ship in about 30 seconds. Then Matt gives Joey a
  voice with AssemblyAI's Voice Agent API and demos it live, making the case
  that FDEs should automate themselves out of a job and dogfood the product
  their customers build. In this talk: • Why the FDE model doesn't scale to
  1,000 signups a day • Joey's architecture: local markdown docs, embeddings,
  agentic search and a single CLAUDE.md • Turning every escalation into a
  roadmap item for the agent • Adding real-time voice with one websocket:
  speech-to-text, LLM and text-to-speech SPEAKER Matt Lawler, Forward Deployed
  Engineer Lead, AssemblyAI LINKS AssemblyAI: https://www.assemblyai.com Voice
  Agent API docs: https://www.assemblyai.com/docs/voice-agents/voice-agent-api
  Introducing the Voice Agent API:
  https://www.assemblyai.com/blog/introducing-our-voice-agent-api AssemblyAI on
  X: https://x.com/assemblyai CHAPTERS 0:00 Intro 0:33 Meet Matt 1:13 What
  AssemblyAI does 2:08 1,000 API signups a day 2:38 What a forward deployed
  engineer does 3:28 Why the FDE model doesn't scale 3:57 Automate yourself out
  of a job 4:12 The off-the-shelf bot: 10% resolution 5:17 Building Joey 6:12
  Architecture: docs, embeddings, agentic search 7:22 Deploying on Railway 8:02
  Results: 10% → 80% for $700 a month 9:01 Escalations become the roadmap 9:31
  Giving Joey a voice 10:56 Code walkthrough 12:11 Live demo: talking to Joey
  14:24 Dogfood your own product 15:08 Go build Recorded at the AI Engineer
  World's Fair 2026 in San Francisco. Subscribe for more talks from the
  engineers building with AI. AI Engineer: https://ai.engineer YouTube:
  https://www.youtube.com/@aiDotEngineer X: https://x.com/aiDotEngineer
  LinkedIn: https://www.linkedin.com/company/aidotengineer/ #VoiceAI #AIAgents
  #AIEngineer
canonical: 'https://liquidgold.cc/watch/pyvRID_CZZU'
markdown: 'https://liquidgold.cc/watch/pyvRID_CZZU.md'
llms: 'https://liquidgold.cc/watch/pyvRID_CZZU/llms.txt'
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-23T22:20:01.014Z'
language: null
children: []
videoId: pyvRID_CZZU
durationSeconds: 979
publishedAt: '2026-10-04T15:00:15.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 93
    endSeconds: 139
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=93'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 93
    endSeconds: 139
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=93'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 160
    endSeconds: 170
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=160'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 224
    endSeconds: 245
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=224'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 224
    endSeconds: 245
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=224'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 267
    endSeconds: 322
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=267'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 267
    endSeconds: 322
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=267'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 333
    endSeconds: 376
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=333'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 376
    endSeconds: 387
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=376'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 387
    endSeconds: 451
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=387'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 451
    endSeconds: 462
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=451'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 484
    endSeconds: 495
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=484'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 495
    endSeconds: 548
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=495'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 559
    endSeconds: 581
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=559'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 591
    endSeconds: 656
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=591'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 591
    endSeconds: 656
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=591'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 667
    endSeconds: 732
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=667'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 667
    endSeconds: 732
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=667'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 868
    endSeconds: 878
    watch: 'https://liquidgold.cc/watch/pyvRID_CZZU?t=868'
    heldReason: rights
---


# We Built an AI Support Agent That Resolves 80% of Tickets — AssemblyAI

1,000 API signups a day and one onboarding engineer. So AssemblyAI built Joey. Matt Lawler, forward deployed engineer lead at AssemblyAI, shares how his team replaced an off-the-shelf support bot that resolved 10% of conversations with their own agent, Joey, which resolves 80% end to end for about $700 a month. Joey is built on the Claude Agent SDK with docs checked out as local markdown, embeddings for retrieval, agentic file search and a large CLAUDE.md. It's deployed on Railway so fixes ship in about 30 seconds. Then Matt gives Joey a voice with AssemblyAI's Voice Agent API and demos it live, making the case that FDEs should automate themselves out of a job and dogfood the product their customers build. In this talk: • Why the FDE model doesn't scale to 1,000 signups a day • Joey's architecture: local markdown docs, embeddings, agentic search and a single CLAUDE.md • Turning every escalation into a roadmap item for the agent • Adding real-time voice with one websocket: speech-to-text, LLM and text-to-speech SPEAKER Matt Lawler, Forward Deployed Engineer Lead, AssemblyAI LINKS AssemblyAI: https://www.assemblyai.com Voice Agent API docs: https://www.assemblyai.com/docs/voice-agents/voice-agent-api Introducing the Voice Agent API: https://www.assemblyai.com/blog/introducing-our-voice-agent-api AssemblyAI on X: https://x.com/assemblyai CHAPTERS 0:00 Intro 0:33 Meet Matt 1:13 What AssemblyAI does 2:08 1,000 API signups a day 2:38 What a forward deployed engineer does 3:28 Why the FDE model doesn't scale 3:57 Automate yourself out of a job 4:12 The off-the-shelf bot: 10% resolution 5:17 Building Joey 6:12 Architecture: docs, embeddings, agentic search 7:22 Deploying on Railway 8:02 Results: 10% → 80% for $700 a month 9:01 Escalations become the roadmap 9:31 Giving Joey a voice 10:56 Code walkthrough 12:11 Live demo: talking to Joey 14:24 Dogfood your own product 15:08 Go build Recorded at the AI Engineer World's Fair 2026 in San Francisco. Subscribe for more talks from the engineers building with AI. AI Engineer: https://ai.engineer YouTube: https://www.youtube.com/@aiDotEngineer X: https://x.com/aiDotEngineer LinkedIn: https://www.linkedin.com/company/aidotengineer/ #VoiceAI #AIAgents #AIEngineer

Canonical: https://liquidgold.cc/watch/pyvRID_CZZU · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
