Voice Notes — how it works
← Back to captureSpeech in, structured record out — modeled on EHR dictation → SOAP/BERP notes.
What it is
Dictate or record a voice note from any device. Claude structures it into an idea, requirement, or task — you review and edit the draft, then save. Saved items sit in a pending inbox until the /voice-inbox skill (run from the notes repo) files each one where it belongs.
The pipeline
ath.how/voice (console sign-in, superadmin)
├─ live dictation ── on-device speech (free) ─┐
└─ record button ─── gpt-4o-mini-transcribe ───┤ transcript
▼
Claude Opus 4.8 ── structured draft
▼
you confirm ── voice_inbox (pending)
▼
/voice-inbox skill (notes repo)
├─ idea → daily note
├─ requirement → standalone note
└─ task → Signal card
then row → landed (kept as history) The two capture modes
- Live dictation (teal mic) — your device's speech recognition fills the transcript as you talk. Free, instant, best for quick notes.
- Record → transcribe (purple button) — records audio and transcribes server-side with OpenAI. Better accuracy and punctuation for longer dictations (~$0.003/min, up to ~15 minutes). iOS-safe.
Either way you can edit the transcript before parsing, and edit Claude's draft before saving. Nothing lands without your confirm.
What Claude does with it
One structured-output call classifies the note and shapes the body — filler words cleaned up, your intent preserved verbatim:
Idea
The thought in your words + why it matters. Lands in the daily note.
Requirement
Context, intent, acceptance criteria. Lands as a standalone note.
Task
Description + AC, with story points (1/3/5/8) and priority. Lands as a Signal card.
Auth & where things live
- • Page and API are gated by your console sign-in; the API additionally requires the superadmin role and enforces row access with Postgres RLS.
- • Inbox =
voice_inboxtable on the ath-ops Supabase project. Rows are never deleted — draining flipspending → landed, so the table is also capture history. - • API keys live as Cloudflare Pages secrets, backed up in 1Password.
- • Entry points: the Voice nav link here, and the mic button in the daily board (notes.ath.how/daily/app).
- • Saving with "Also add to today's daily board" checked (default for tasks) drops the item straight onto the board as a card, tagged
source: voice.
Full technical doc (gotchas, migrations, key provenance): ath-ops/docs/voice-notes.md