Notes from the workbench.
Thinking out loud about PHP, AI tooling, ABA software, indie hacking, and whatever else I'm shipping this month.
One LLM Isn't Enough
Relying on a single AI model to write and review your code is asking the student to grade their own homework. Here's the multi-model pipeline I run on every commit.
Getting More Out of Claude Code: Tips for New Users
Treat Claude Code like a very fast junior developer who needs clear direction. A handful of habits — plan mode, scoped @ references, skills — make the difference between magic and mess.
The New Skill in Software Development isn't Coding
I shipped a web app to both app stores and ported a React app to native Swift for Apple TV — with no prior mobile, React, or Swift experience. The bottleneck isn't prompting. It's knowing what you want.
From Web to Living Room: Porting to Apple TV
How I ported a React application to a native Swift game and shipped to Apple TV — without knowing Swift, or React. AI did the syntax. I knew what I wanted.
From Prompt to App Store in 48 Hours
It started with one sentence in Google AI Studio: 'Vampire survivors style game where you fight programming bugs.' 48 hours later it was approved for sale on the App Store.
Dotfiles for Developers — Part 2
Homebrew Bundle, mas-cli, and Mackup. The bits that turn a fresh Mac into a working dev machine in a single command.
Dotfiles for Developers — Part 1
Homebrew, iTerm2, Zsh, Oh My Zsh — the small set of tools that turns a fresh Mac into something you actually want to work on.
Apollo 11 Mission on Technical Debt
In the Apollo 11 source code, published online in 2009, a programmer wrote: 'TEMPORARY, I HOPE HOPE HOPE.' Technical debt has been a part of software for as long as software has existed.