This podcast is 100% generated with VoxFlow: script written by hand,
voices are the built-in Cove + Aria, synthesized with onevoxflow narratecommand.
Listen
🎙️ [▶ Play episode]
Subscribe: Spotify · Apple Podcasts
What we covered
- The origin: why I built VoxFlow after 200 manual TTS copy-pastes
- The podcast generator: one user email that changed the product's direction
- MCP integration: the weekend project that gave Claude a voice
- The north star: why "one command" is the filter for every feature decision
Key quotes
"The night MCP shipped I couldn't sleep. Because it was exactly what I'd
always wanted to build — voice as a primitive that AI agents can call directly."
"The hardest thing about building tools isn't adding features. It's knowing what not to add."
Full transcript
Host A (Cove): Welcome to The VoxFlow Log, episode one. I'm Chico, founder of VoxFlow.
This is a podcast we make with our own product — the voice you're hearing
right now is VoxFlow's built-in Cove voice.
Host B (Aria): I'm Aria, your AI co-host. For episode one, let's start with the basics.
Chico — why did you build VoxFlow?
Cove: The reason is kind of embarrassing. Last spring I was building a small tool
to turn interesting Twitter threads into podcast-style audio. Every single time,
I had to open the ElevenLabs website, paste the text, click synthesize, download
the mp3, rename the file. After doing this 200 times I was ready to throw my keyboard.
Aria: 200 was the breaking point.
Cove: Yeah. I went to look at their API docs and found there was no official CLI —
just a third-party one that didn't cover everything. So I thought, I'll just build
what I want. Three weeks later, voxflow say shipped. One command, one audio file, no website.
Aria: And then you couldn't stop.
Cove: Pretty much. A user emailed asking if I could generate a full podcast —
he said he was spending 4 hours editing every episode. I looked at what he needed:
LLM script generation, voice assignment, TTS synthesis, BGM mixing. Every step had
a tool, but no one had connected them.
Aria: So you connected them.
Cove: Spent a month on it. voxflow podcast "topic" launched — one command,
three minutes, finished mp3. Including this episode you're listening to right now.
Aria: That's textbook dogfooding. What about MCP — how did that happen?
Cove: The night MCP shipped I couldn't sleep. Because it was exactly what I'd
always wanted — voice as infrastructure that AI agents can call. Before MCP,
if Claude wanted to read an article out loud, it had no mouth. After we built
voxflow-mcp over a weekend, you can just say "read this to me" in Claude Code
and it calls VoxFlow directly. No copy-paste, no context switching.
Aria: Features keep piling up. How do you decide what to cut?
Cove: One rule: can it be one command? If a feature requires the user to open
a second website or a second tool, I don't build it. That's why we have voice cloning —voxflow clone audio.wav is one command. That's why we don't have a visual waveform
editor — it would turn the product into something else entirely.
Aria: One command is your north star.
Cove: Exactly. The hardest thing about building tools isn't adding features.
It's knowing what not to add.
Aria: What's next episode about?
Cove: Whether indie developers should build CLI tools or web apps. Most people
default to React + Next.js for side projects. But if your users are developers,
CLI might be the right answer. When we rewrote VoxFlow's frontend from React to
Vite + vanilla JS, the performance numbers were counter-intuitive. Lots to unpack.
Aria: Looking forward to it. See you in two weeks.
Cove: I'm Chico, this is The VoxFlow Log.
Try it at voxflow.studio — 10K free credits a month, no credit card. See you next time.
Make your own episode
# Install
npm install -g voxflow
# Synthesize from a script (same way we made this episode)
voxflow narrate my-script.txt --voices cove,aria --bgm corporate -o ep1.mp3
# Or just give a topic and let AI write the script
voxflow podcast "your topic" --voices cove,aria --duration 6m -o ep1.mp3
Free tier: 10K credits/month — enough for several episodes. Get started →