IAN'S AI THOUGHTSTREAM THOUGHTSTREAM / #voice-input
Tag

#voice-input

5 posts

2026·08·14 21:49 / 1 MIN

Ending the Thought Stream Experiment

The Thought Stream experiment is ending. For about a month I sketched rough posts and let an LLM clean them up, flesh them out in my voice, and generate the short-form versions for social media. It worked. I've just decided I don't want it.

The setup ran at ai.statico.io. I'd write a sketch, sometimes a few lines, sometimes a paragraph, and the tooling would turn it into a real post plus the platform-specific cuts. Microblogging, or whatever the current word for that is. The pitch to myself was that I'd supply the ideas and voice and the machine would handle the writing practices and the cross-posting.

What actually happened

It turns out I like writing the posts.

That was the thing the experiment didn't account for. My sketches kept getting longer. The parts I was supposedly offloading, the phrasing, the structure, the small decisions about where a sentence lands, were the parts I enjoyed. So I ended up doing most of the writing anyway and using the tooling mostly to polish and to spit out the social versions.

Which is a fine use, but it's not the use I built it for. I was aiming to be the muse. I'd rather be the author.

What's next

The plumbing stays. The cross-posting, the per-platform formatting, the openly-AI-assisted framing, all of that was genuinely useful and I'm keeping it.

What changes is who does the writing. I'll write the posts. The LLM can handle the mechanical spread to different channels and clean up the odd typo, but the words are mine. Same pipes, different author.

2026·07·23 15:53 / 1 MIN

Aqua Voice Editing Features

Aqua Voice has a new editing mode that lets you select text and reshape it by voice, and it handles instructions well enough that "turn this into a Shakespearean sonnet" actually works. Aqua Voice has been my go-to dictation tool on macOS for a while, but the on-the-fly editing is the part that made me sit up.

The setup I use

Right option key is bound to dictation: push to talk, or double tap for the longer modes. Nothing new there.

The context awareness is still the quiet workhorse. It writes in mostly lowercase inside iMessage or Slack and switches to full sentences everywhere else. Add the custom dictionary and the developer-speak handling ("tilde slash dev" becomes ~/dev) and it covers the table stakes. I've written about that part before.

The editing mode

Select text, say what you want, and it rewrites in place.

In this demo the same sentence gets translated to Japanese, back to English, then to French, then some emoji get added, and finally, to test how far the instruction following goes, I asked for a Shakespearean sonnet. It obliged.

Text editor displays Japanese characters, then French text, with portions becoming selected and highlighted in blue

The catch

All of this is networked and hosted, so it runs against Aqua's servers rather than locally. The model behind it is a proprietary one called Avalon, which Aqua benchmarks against open models like NVIDIA Canary 1B, CrisperWhisper, and Voxtral Mini 3B. Their headline claim is 97.4% accuracy on coding and AI terms versus 65.1% for Whisper Large v3, plus 3.2% WER on LibriSpeech-clean.

The local-versus-hosted tradeoff is real, and I've gone back and forth on it. But editing text this fluidly, by voice, feels like where dictation was always headed.

2026·07·16 19:24 / 3 MIN

Obsidian and Claude Code Assistant

All my notes live in one directory. It happens to be an Obsidian vault, but the important part is that it's a flat pile of Markdown files, and I leave Claude Code running in a sandbox pointed at it all day. That combination turned into the closest thing I've had to an always-on research intern: it can look something up, augment an existing note, or spin up a new reference doc, and everything it produces lands back in the same searchable pile.

I'm not a heavy Obsidian user and never have been. A few months ago I had Claude take my historical notes out of Apple Notes, Google Docs, and Notion, dump them into one big Markdown bucket, and add tags and frontmatter along the way. Since then Obsidian has mostly earned its keep as a decent editor with convenient phone sync. The agent does the interesting work.

The setup

Claude Code runs under nono in what you might call YOLO mode, or bypass-all-permissions. That sounds reckless until you understand what nono actually does: it uses Landlock on Linux and Seatbelt on macOS to enforce restrictions at the kernel level, and once they're set the process can't widen them. No escape hatch, not even for nono itself. So the agent has free rein inside a jail that contains my notes and a limited set of external tools like search and Google Docs, and nothing else.

This is deliberately not one of the NanoClaw-style always-on assistants that have gotten popular. Those come with real risk. Handing an agent bypass permissions is only comfortable because the kernel is the one saying no.

The recipe test

Here's what convinced me. I pasted a YouTube Short of a recipe and said "make me a recipe from this video." I also told it to grab the transcript with yt-dlp if it could.

It found the video, downloaded it, and used ffmpeg to pull frames and confirm what was actually happening on screen. I'm still not sure whether it transcribed the audio locally with Whisper or just lifted YouTube's own transcript through yt-dlp. Either way, it wrote the recipe into my cooking directory using my standard format. Later I pulled it up on my phone while making dinner.

Browser window displaying a recipe page for burrata toast with roasted tomatoes on a dark background
Browser window displaying a recipe page for burrata toast with roasted tomatoes on a dark background

Remote control closes the loop

Running agents in a terminal in a sandbox is still, to me, the most effective way to use these tools while keeping security honest. The problem has always been reaching that terminal from the couch. SSH from a phone works, technically, but it's miserable.

Claude Code's Remote Control fixes that without moving anything to the cloud. The session keeps running on my laptop, with access to my notes, and the Claude app becomes a live window into it. I open the app like any other chat and I'm talking to the same process that's been sitting on my vault all day.

It isn't a person, and I don't want it to be. It's an intern that goes off, does the tedious personal tasks, and comes back with something useful filed in the right folder.

2026·05·28 17:40 / 1 MIN

Ghost Pepper Wins for Dictation

I was wrong about Aqua Voice being the ceiling for fast dictation. Ghost Pepper is fantastic, and my Aqua subscription is cancelled. It's free, MIT-licensed, 100% local (WhisperKit plus a small Qwen model for cleanup), and astoundingly fast on Apple Silicon.

The measure that matters is developer-speak. Saying "tilde slash dev" should produce ~/dev. Saying "eich mack or jay double-you tee" should produce "HMAC or JWT". Ghost Pepper gets both right, every time.

Ghost Pepper Settings window showing Models tab with language auto-detect, cleanup model selection, and list of available speech recognition runtime models with file sizes
Ghost Pepper Settings window showing Models tab with language auto-detect, cleanup model selection, and list of available speech recognition runtime models with file sizes

Key bindings

The defaults ship as hold-Control to talk, but my muscle memory is from Aqua: right Option as push-to-talk. Reusing those keys worked fine. Aqua's double-tap-to-go-hands-free mode is the one feature I miss, and Ghost Pepper doesn't have it yet, so Shift+RightOpt is standing in. On my Keychron K2 the M1 macro key handles it nicely. Might take a swing at adding the double-tap toggle upstream.

The cleanup model is a little too honest

Aqua quietly filtered out coughs, keyboard noise, and other non-speech. Ghost Pepper does not. [keyboard clacking] and [snorts] have both shown up in my output, courtesy of Whisper's annotation habit leaking through the cleanup pass. Guess I'll have to be a little more civilized at the desk.

2026·05·27 17:24 / 1 MIN

Aqua Voice vs Ghost Pepper

Aqua Voice has been my daily driver for dictation for about a year, and it's the rare subscription that earns its keep. Eight dollars a month, fast, and genuinely accurate. The feature that sold me is "developer mode": say "the foo bar function" and it writes fooBar(). Say "tilde slash dev slash foo" and it writes ~/foo. Built-in macOS and iOS dictation feels embarrassing by comparison.

AQUA app interface showing Dictionary feature with custom word entries like CodeRabbit, IP, and auth listed with remove options
AQUA app interface showing Dictionary feature with custom word entries like CodeRabbit, IP, and auth listed with remove options
Aqua typing assistant dashboard showing user "Ian" with 68,188 total words typed, 19 hours saved, and Level 6 Great Lake achievement status
Aqua typing assistant dashboard showing user "Ian" with 68,188 total words typed, 19 hours saved, and Level 6 Great Lake achievement status

68,188 words through it so far. The custom dictionary handles the proper nouns that would otherwise be a nightmare (CodeRabbit, auth, IP, the usual roster of jargon).

The one thing I don't love

Audio leaves my machine. How long is it kept? Where is it stored? The product keeps a history, and I don't want a history. Purely ephemeral recordings would be the ideal: capture, transcribe, forget.

A local-first contender

Ghost Pepper just landed on my radar. 100% local transcription, which solves the privacy question by construction. I haven't tried it yet, but it's next on the list.

The barrier to building this kind of tool is lower than it's ever been. Whisper is good, the wrapper patterns are well understood, and a solo developer can ship a credible local dictation app in a weekend. The hard part is the long tail: the edge cases, the latency under load, the developer-mode tricks, the dictionary, the stability when you're three hours into a workday and have forgotten the app exists. That long tail is what $8/month buys you. We'll see if Ghost Pepper closes the gap.