Turning voice memos into a blog post works when the memo is the only source of facts and the AI is only allowed to organise and tighten your words. The workflow below has five steps: transcribe, extract, outline, draft, and verify. The verify step is the one people skip, and it is where AI quietly adds a study you never mentioned.
I ran one part of this for the article: a script that flags numbers and names in a draft that are not in the transcript (output below). The prompts are untested templates. I did not run them on a live model for this post, and the sample memo and draft are invented to show the checks.
Why do voice memos make better first drafts than typing?
When you talk through something you did, you include the awkward details: the exact error, the thing you tried first, the reason you changed your mind. Typed first drafts tend to jump straight to the tidy conclusion. Those details are what make a post worth reading, and they are what generic AI writing lacks.
The cost is mess. Spoken language wanders, repeats, and corrects itself. The job of the workflow is to keep the details and remove the mess, without letting the AI add content of its own. If you have read the prompting for writers guide, this is the same principle applied to a transcript: the model edits, you supply the substance.
Step 1: How should you record the memo?
Talk to one imagined reader, and cover these in order. Pause between them so the transcript is easy to scan.
- The problem: what was going wrong or what question you had.
- What you did: steps, tools, commands, in the order you did them.
- What failed or surprised you: the useful part.
- What you would tell someone else: your actual advice, in your words.
- Numbers you can stand behind: only ones you measured or read from a source you can name. Say the source out loud.
Say "note: check this" when you are unsure about a fact. The marker survives transcription and tells you what to verify later. The voice-first note-taking workflow uses the same spoken-marker idea for filing notes.
Step 2: How do you transcribe it?
Use whatever you trust with the content. For anything private, run a local model; the Whisper batch script post has a script and real timings for a folder of memos. Many phone and desktop apps also transcribe, but the audio goes to their servers, so check their privacy page first.
Read the transcript once against the audio for names, numbers and jargon. Transcription errors become writing errors. If you are choosing between tools, the accuracy test protocol shows how to score them on your own voice.
Step 3: What prompt extracts the raw material?
Do not ask for a blog post yet. First extract what is in the memo, so you can see what you have. This is an untested template; paste your transcript where marked.
You are helping me turn a spoken voice memo into a blog post.
The transcript below is the ONLY source of facts.
Do not write the post yet. Produce:
1. CLAIMS: a numbered list of every factual claim, number, name, tool or
date I mention, each with a short verbatim quote from the transcript.
2. STORY: the problem, what I did, what went wrong, what I concluded,
as five bullets, using my own wording where possible.
3. GAPS: things a reader would need that I did not say (do not fill them).
4. MARKERS: every place I said "note: check this" or sounded unsure.
TRANSCRIPT:
[paste transcript]
Read the CLAIMS list. If a claim has no real quote beside it, the model has invented it. Delete it or ask again.
Step 4: What prompt writes the draft without losing my voice?
Now outline, then draft from the outline. Keep the model on a short leash. Another untested template:
Using only the CLAIMS and STORY above, write an outline for a blog post
of about [1,200] words for [audience]. Use my phrasing for headings where
natural. Then stop, and wait for my approval.
After you approve the outline:
Write the draft from the approved outline and the transcript.
Rules:
- Reuse my phrases and sentence rhythm. Keep contractions and my
opinions. Do not formalise them.
- Do not add facts, numbers, statistics, studies, quotes or examples that
are not in the transcript. If the post needs one, write [NEED: what]
instead.
- Keep first person only for things I said I did.
- Short and long sentences mixed. No opening definition.
- Put a [CHECK] tag after any claim I marked as uncertain.
The [NEED: ...] rule matters. It turns the model's urge to fill gaps into a visible to-do list. For more on getting prose that does not read like a chatbot, see how to prompt AI to sound human.
Step 5: How do you verify the draft against the memo?
There are two checks, one mechanical and one by prompt.
Mechanical check: new numbers and names
This script lists numbers and capitalised words in the draft that never appear in the transcript. It is crude: it will flag legitimate rewording of names and miss invented facts that use only words from the transcript. Treat the output as a to-do list.
#!/usr/bin/env python3
"""List numbers and capitalised words in a draft that never appear in the transcript."""
import re
import sys
from pathlib import Path
STOP = {"The", "A", "An", "I", "It", "This", "That", "But", "And", "So", "If",
"When", "We", "You", "My", "In", "On", "For", "Then", "There"}
def tokens(text: str):
numbers = set(re.findall(r"\d[\d,.]*\d|\d", text))
caps = set()
for sentence in re.split(r"(?<=[.!?])\s+|\n+", text):
words = re.findall(r"[A-Za-z][A-Za-z'-]*", sentence)
for w in words[1:]: # skip sentence-initial word
if w[0].isupper() and w not in STOP:
caps.add(w)
return numbers, caps
def main(transcript: str, draft: str) -> None:
t_text = Path(transcript).read_text(encoding="utf-8")
d_text = Path(draft).read_text(encoding="utf-8")
t_low = t_text.lower()
d_nums, d_caps = tokens(d_text)
print("numbers not in transcript:", sorted(n for n in d_nums if n not in t_text) or "none")
print("capitalised words not in transcript:",
sorted(c for c in d_caps if c.lower() not in t_low) or "none")
if __name__ == "__main__":
main(sys.argv[1], sys.argv[2])
To test it, I wrote a short invented transcript about a failed staging deploy, and an invented draft that adds a fake "2024 Google study" with "63%" and a "Martin Fowler" quote. Real output of python new_facts.py transcript.txt draft.md on 2026-10-09:
numbers not in transcript: ['2024', '63']
capitalised words not in transcript: ['Fowler', 'Google', 'Martin']
It caught every planted addition. It would not catch an invented claim phrased in plain lowercase words, which is why the second check exists.
Prompt check: map every sentence to the memo
Run this in a fresh chat so the model is not defending its own draft. Untested template:
Below are a transcript and a blog draft. For each sentence in the draft,
output one row: sentence | SUPPORTED (quote the transcript line) |
REWORDED (still supported) | NOT IN TRANSCRIPT. Be strict: a number, name,
date or cause that is not in the transcript is NOT IN TRANSCRIPT.
Then list only the NOT IN TRANSCRIPT rows.
TRANSCRIPT: [paste]
DRAFT: [paste]
For every NOT IN TRANSCRIPT row, delete it, replace it with something you can source, or record a short follow-up memo. If you keep a statistic, find the original source and check it yourself with the fact-checking checklist. A model grading its own kind of output is a second opinion, not proof.
What about reuse after publishing?
One memo can feed more than one post, but each derivative needs the same discipline. The content repurposing prompts cover turning a finished post into other formats. Keep the transcript beside the published post. If a reader challenges a claim, the memo and your sources are your evidence.
When does this workflow not pay off?
- You have nothing specific to say. A memo of general opinions gives the AI nothing to preserve, so it will fill the space. Record after you have done the thing.
- The topic needs outside facts. A comparison or a price article needs research first. Memo-based posts work for experience and decisions, not for claims about the world.
- Privacy rules forbid the transcript leaving your machine. Then both transcription and drafting need to be local, which limits the model quality available to you.
- You enjoy writing the first paragraph more than the editing. Then use the memo only as notes.



