JB Product
← Back

From voice to article in one command

Published on August 11, 2025·2 min read·Lire en français

Share:X / TwitterLinkedIn

I find that talking about an idea, a feature, is always easier out loud than in writing.

I decided to eliminate that friction.

Vocal to post

The principle

Speaking is more natural to me than writing. An idea you express verbally in two minutes often takes twenty minutes to structure in writing. Voice transcription isn't new, but turning it directly into a structured, ready-to-publish blog article — that's the next step.

With Claude, I wrote a Python script that does exactly that, in one command, without any external API.

What it does in practice

The full process runs in three steps:

  1. Recording or import — either you run record and speak into your mic, or you provide an existing audio file (mp3, m4a, wav).
  2. Local transcription with Whisperfaster-whisper runs locally, detects the language automatically, and returns raw text.
  3. MDX generation with Llama — Ollama + llama3.2 transform the transcript into a structured article: frontmatter, H2/H3 headings, verbal filler words cleaned up, voice preserved.

The MDX file is saved directly into the right blog folder (content/fr/ or content/en/), with a slug and date generated automatically.

There's also a translate mode that takes a French article and translates it to English — same pipeline, same model.

The detail that makes all the difference: 100% local

Whisper runs locally. Llama runs locally via Ollama. No data leaves the machine. No per-token cost. No dependency on an API that might go down or change its pricing.

For a tool you use continuously, that's a design constraint that matters.

The product thinking

This tool follows the same logic as the POD → Instagram feature: identify where the friction is, then remove it.

Here, the friction was the transition from idea to written text. The solution wasn't a better editor or a better template — it was changing the input medium entirely.

Reducing the friction of an existing step is often more impactful than adding a new feature.


Comments