There’s a specific kind of dead time that anyone who works with an AI coding agent will recognize.
You type out a task, three sentences, maybe four, more than you wanted to type, and you hit enter. Then you wait. Thirty seconds. Two minutes. Sometimes longer. And somewhere in that gap, you open a new tab. Check Slack. Answer an email. Forget.
Fifteen minutes later you remember the agent exists, and it’s been sitting there, finished, waiting for a decision nobody was around to give it.
That gap is where SKI came from.
The thing we noticed before we noticed the idea
We didn’t start out trying to build a voice product. We started out annoyed at ourselves. We’d catch each other saying a prompt out loud, working it through, thinking in sentences, and then typing the same thing a moment later, slower and worse than we’d said it.
Thinking is fast. Typing isn’t. That gap between the two is where most of the friction in “AI-assisted coding” actually lives, and it has almost nothing to do with the model underneath.
So the first version of the idea was small: what if you could just say the prompt? Voice coding in its simplest form, for Claude Code, Codex, whatever you’re using.
We built that. And it was fine. It was also, we realized pretty quickly, not the point.
The turn
Voice input alone still leaves you exactly where you started: staring at a terminal, waiting, still the one responsible for noticing when the agent is done. You’ve changed how the words get in. You haven’t changed the waiting.
The actual unlock came from asking a different question: what if the agent could tell you? Not a desktop notification you’ll dismiss on reflex. An actual spoken sentence, the way a person you’re pairing with would say it —
“Tests pass, want me to commit?”
— and you just answer. Out loud. From the kitchen, from another window, from wherever you’d wandered off to while it worked.
SKI is the version of this where the conversation goes both ways, and the agent can call you.
Not dictation. A loop.
What we actually built
SKI is a free desktop app, Mac and Windows, that sits on top of whatever coding agent you already use: Claude Code, Codex, Cursor, Gemini CLI, Windsurf, and a growing list of others, connected through one shared skill. You install it, run it in your project, and say ski once in your normal session to connect. After that, you talk instead of typing, and the agent answers out loud instead of just printing text back at you.
Everything in that loop, the speech-to-text that hears you, the text-to-speech that answers you, runs entirely on your own machine. That wasn’t a marketing decision. One of our co-founders said it plainly early on, before we’d built any of the UI: nothing you say should leave your machine, because a voice tool that shipped your prompts to somebody’s server isn’t something either of us would actually use.
So it doesn’t. Your voice and your code aren’t uploaded, and the voice loop works offline. What you say to the agent still goes wherever that agent’s own model lives, exactly as if you’d typed it, SKI is the voice channel, not the intelligence behind it.
It lives quietly, a floating pill, or a notch bar tucked under a MacBook’s camera housing, and it stays out of your way until you press a key and start talking. If you’re running more than one project, each one answers in its own voice, so you know who’s talking to you without glancing at a screen.
We also built in the thing that annoyed us about other voice tools: muting actually mutes.It’s a small thing. It’s also the thing that makes you trust the app enough to leave it running.
And then, almost as a side door: meetings
Once an agent can speak, it turns out it can be present for more than just your terminal. We added a local meeting recorder, it captures the mic and system audio from any meeting, transcribes it entirely on your machine, speaker-tagged, and your agent writes the summary and the action items. That part is free and unlimited, same as everything else that runs on-device.
The one place SKI actually costs money is when your agent leaves your machine to attend a call for you, joining a Zoom, Meet, or Teams meeting as a participant or a silent notetaker, through our other product, AgentCall. Sending a bot into a live cloud call costs real infrastructure, so that piece comes with a free usage allowance and metered credits after that. Everything else, the whole on-device voice loop, stays free for life, no card required.
We didn’t want to bury that distinction in fine print. It’s the one carve-out in an otherwise free product, so we say it plainly whenever we say “free.”
Where it stands now
We launched on Product Hunt on July 30th and finished the day as the #1 Product of the Day, which was a genuinely good surprise. The response that stuck with us most wasn’t about the novelty of talking to a coding agent, it was people saying some version of “I didn’t realize how much I was tolerating the waiting until it stopped.”
That’s the bet underneath all of this. Voice input for coding agents isn’t new anymore. What we think is still missing, almost everywhere else, is the second half of the conversation, the part where the agent doesn’t just take the order, it comes back and tells you what happened.
If you’re already living inside Claude Code, Codex, or Cursor most of your day, we’d like you to try the loop and tell us honestly what breaks, or what you wish it did next. That feedback is, genuinely, most of how this gets better from here.