
Articles
Writing about building with AI, shipping consumer apps, and the tools I use.
Two Claude Code subscriptions, one menu bar
Statusline usage numbers for both Claude Code accounts in the menu bar, one-click credential switching, and a reset-aware autopilot. Native AppKit, builds from source.
My skills go stale in two months
A wiki that runs itself, re-skilled with my current copy and design playbooks — and why a skill written down compounds across every project.
A cinematic hero for 80 cents
The real cost of a video model isn't the render or the safety filter — it's iterating, and every pass is billed. How a cinematic Veo 3.1 hero stays at 80 cents: settle composition on free GPT Image 2 stills, iterate motion on Lite, pay full price only for the keeper.
I was paying for GPT Image 2 twice
The image model the API bills per-shot is the same one your ChatGPT plan already runs. How I wired my generation skill to bill the subscription instead — and the edge-fringe fix that took longer than the billing.
Realtime voice on Gemini Live 3.1: 13× cheaper than OpenAI
OpenAI ships WebRTC and it just works. Gemini doesn't — so here's the realtime-audio setup, end to end, and the two weeks of echo bugs it took to get there.
An icon search that tells you when not to use an icon
Why I built a plain-English icon search across 13,000 icons, the embeddings-vs-LLM fork I actually debated, and the part that makes it more than a string matcher.
How I run Claude as an agent across five projects
What my Claude Code agents actually do every day across five live products, and what that means for shipping speed.
Claude Code skills: what they are, when to write one, how I ship them
What a Claude Code skill actually is, when one earns its place over a prompt or CLAUDE.md note, and how I ship them.
Claude Code: CLI vs desktop vs mobile
CLI for building, desktop for reading, mobile for delegating. Same agent, three windows.
Building bq-analytics: letting Claude vibecode my analytics
A drop-in BigQuery-backed analytics package, written almost entirely by Claude.
Build the plugin, not the platform
Software is shifting from full apps to small things agents can call. What that means for what you build, what you charge for, and where the moat lives.
Claude as ADHD assistant
Concrete examples of using Claude to get a thought out the door when executive function isn't there.
Coding on the go is solved
Real coding sessions from a phone via Claude mobile plus a remote-control daemon.
Pick the model for the job
Claude for code, Gemini for images, Qwen for speech. Routing to six models across five projects.