Back to Events
Past Main or above

AI Voice Coach with ElevenLabs

July 22, 2026, 02:00 Europe/Berlin

Event times are shown in Europe/Berlin. Sign in to use your timezone

0 people attended

Continue with the workshop writeup

Open the canonical pages, recording, materials, and code repo.

View workshop writeup

In this workshop we build Luma, a voice coach for rehearsing difficult conversations. You talk, and the coach walks you through Nonviolent Communication. By the end, you turn a complicated conflict into a clear message you can say out loud.

Useful resources for this workshop:

The app you will build

A voice agent has stricter requirements than a text chat. It has to listen, detect when you finish talking, and reply without sounding robotic. It also has to let you interrupt it mid-sentence, like a real person would. Building that pipeline from scratch takes a long time, so we take a shortcut. We use ElevenLabs Conversational AI, a managed voice-agent platform that gives us the whole pipeline as one service.

A managed platform is the fastest way to a working prototype. Use it while you're still asking whether voice helps at all. Switch to a custom pipeline once you need control over latency, cost, or the model behind the coach. We pick the managed path on purpose, because testing the idea matters more than building infrastructure.

The browser never sees the ElevenLabs API key. A small Next.js server holds the key and gives the browser a short-lived signed URL for each session. The secret stays on the server while the audio streams directly to ElevenLabs.

The browser gets a short-lived signed URL from the Next.js server holding
the API key. The voice stream flows over WebSocket straight between browser
and ElevenLabs.

We create the agent through the ElevenLabs API, together with the coaching prompt that makes it behave like Luma. We give the coding agent the API key, and it creates the agent for us, so we skip the dashboard entirely. Internally, ElevenLabs uses LiveKit for the real-time audio, so the same connection problems you would debug in LiveKit show up here too.

Once the voice conversation works, we add the things a real product needs. We track how much each session costs by reading ElevenLabs' recorded spend, and we let you pick a voice. We also use one more habit. Before we call anything done, we make the coding agent test the whole flow with a headless browser. This way, we don't have to click through the UI ourselves to find out it's broken.

Hosted by

Alexey Grigorev

Alexey Grigorev

Chief Agent Officer at AI Shipping Labs

Software engineer and machine learning practitioner with 15+ years of experience building production ML systems. I focus on practical, production-grade ML and AI systems, from early prototypes to reliable systems in production.

I'm the founder of DataTalks.Club, a free community that connects tens of thousands of practitioners worldwide, and the creator of the Zoomcamp series, free, code-first programs that have reached 100,000+ learners globally.

At AI Shipping Labs, I'm building the kind of environment that would have accelerated my own career growth. After years of teaching at scale, I wanted something more focused: a space for action-oriented builders who want to turn AI ideas into real projects. The community gives members the structure, accountability, and peer support to ship practical AI products consistently, even alongside their main jobs.

alexey@aishippinglabs.com