I built a voice chat with two talking dogs

A real-time voice chat on thedoodlecast.com lets you speak to Rusty and Oreo, and hear them talk back in character. Here's how it works, the stack behind it, and how to try it.

I built a voice chat with two talking dogs

I built a real-time voice chat with two talking dogs. It is live for everyone on thedoodlecast.com.

For the last few months I've been running a side project called The Doodle Cast — an AI-generated video podcast starring two animated dogs, Rusty and Oreo. Rusty is the deadpan operator; Oreo is chaos with a golden coat. It's a sandbox where I get to push pipelines for image-to-video generation, dialogue writing with LLMs, and voice synthesis into a production workflow.

The latest addition is something I've wanted for a while: a live voice chat where you can actually talk to one of the dogs, out loud, and hear them talk back in character — in real time.

The Doodle Cast voice chat interface showing Rusty's avatar inside a pulsing orange ring, a live audio-level waveform, and a conversation bubble reading 'The mailman is a known operative. I've been tracking his movements for years. Trust no one in uniform.'
The voice chat interface, mid-conversation with Rusty. The orb pulses while he's thinking, the waveform animates while he's speaking.

What it actually does

You open the link on your phone or laptop, tap the mic, and speak. The page captures your voice through the browser's built-in speech recognition, sends the transcript to a local LLM that's been primed with each character's personality and show bible, streams the response back, and pipes it into a TTS model that's been cloned to match each dog's voice from hours of existing Doodle Cast dialogue. Round-trip latency is good enough that it feels like a real conversation — not a walkie-talkie.

Each character has a distinct profile:

  • Rusty — measured, strategic, quietly judgmental. Will answer honestly but treat most questions like a tactical briefing.
  • Oreo — enthusiastic to the point of malfunction. Do not mention squirrels, the vacuum, or anything involving water unless you want a meltdown.

The stack, briefly

It's deliberately modest — no Realtime APIs, no WebRTC gymnastics. The whole thing is held together with:

  • The browser's built-in SpeechRecognition for input (Chrome, Safari/iOS, Edge).
  • A locally hosted LLM behind a streamed SSE endpoint on the Doodle Cast API, tuned with the character's system prompt on every turn.
  • ElevenLabs Flash v2.5 for the voice — it's fast enough for conversational turn-taking and the voice clones hold up well over short lines.
  • Playback through the Web Audio API (decodeAudioData + BufferSource) instead of <audio> elements, because iOS Safari really does not enjoy the handoff between microphone recording and audio playback, and the buffer-source path survives it.
  • Session scoping and rate limiting so the compute budget stays sane.

It started out invite-only while I watched how people actually used it. It held up, so it's now open to everyone, live on thedoodlecast.com. Every conversation still costs a little CPU and a little TTS budget, which is what the rate limiting is for.

Try it now

No application needed anymore: open the cast chat on thedoodlecast.com, pick a character, tap the mic, and just talk. No account, no tracking beyond what's needed for rate limiting.

Open the cast chat on thedoodlecast.com and say hi to Rusty and Oreo.

While you wait: subscribe to The Doodle Cast on YouTube. That's where the real episodes live, and it's where priority access tends to go first.
Subscribe on YouTube

What to expect

  1. Works on an iPhone, iPad, or a Chrome/Edge desktop.
  2. Pick Rusty or Oreo, tap the mic, and just talk. They answer in character, in their own voices.
  3. Conversations are rate-limited so the budget stays sane; if it queues for a moment, that is the home GPU thinking.

If something goes sideways (the mic won't unlock, a response freezes, audio cuts out mid-sentence), I genuinely want to hear about it. This is still early, and iPhones are where most of the interesting edge cases live.

Discussion

Be the first to comment