Learnings
What I build.
What I learn.
From the work.
Observations, not final answers

Build Log / Sep 23, 2026
Shared memory. Under your control.
How we built a local, file-based memory system for Codex, Claude Code and Pi, with Obsidian to read and review the evidence.
Read more
Build Log / Sep 20, 2026
WhichSkills: building a tool to review agent skills
How we built a review workflow around static checks, Jev judgments and traceable evidence, with guides to run it yourself.
Read more
Build Log / May 17, 2026
The Local Voice Stack — Dictation, AI Cleanup, and Voice Output Running Entirely on Your Mac
A complete voice loop running entirely on a Mac — STT, local LLM cleanup, and TTS. No accounts, no API keys, no monthly bills. Faster than the cloud alternatives, and ready to wire into whatever you ship.
Read more
Build Log / Feb 11, 2026
Vynl: Your Music, Your Rules, Your AI DJ
Why I built a listening interface for my own collection, with Beets for library management, Sonos playback and AI-assisted cleanup.
Read more
How-To / Feb 7, 2026
Give your agents a search endpoint you control.
How we connected SearXNG to our agents, what self-hosting changes about privacy, and how to run the setup yourself.
Read more
Incident Report / Sep 23, 2026
When an agent does not stop.
One background session consumed 46.55 million fresh input tokens. What it taught us about shared capacity, observability and a tested stopping rule.
Read more