Blog
Notes on building stuff, mostly with AI. Sometimes about product work.
Curation Is the Feature YouTube Cannot Ship
VM1 plays music videos with VH1-style trivia popups. Every video is already on YouTube, which is exactly the point.
Parsing Other People's File Formats
Kleo reads whatever ebook you throw at it. Almost all the engineering is in the part nobody sees.
Generating a Workout Is Easy, Doing It Is Not
WAGMI writes your training plan and tracks the habits around it. Only one of those is a hard problem, and it is not the one I built first.
Budgets Break the Moment the Trip Starts
Shoestring plans trips against a small budget. The interesting problem is what happens on day two, when reality disagrees with the plan.
The Failures You Can't See Are the Expensive Ones
Backlot chats about TV shows and must never spoil one. Prompting wasn't enough, so I built an eval suite.
Tuning a Model for Tone Instead of Truth
Roastmaster looks at your selfie and insults you. The vision was the easy half.
Which Models Actually Hold a Schema
Scrollem needs every agent to return valid structured data. Cheap tokens turned out not to mean cheap output.
The Answer Is Not the Product, the Explanation Is
GeoGenius can look at a Street View shot and tell you where it is. That turned out to be the least useful thing it does.
Turning a Pile of Feedback Into a Build Order
BuildFR reads everything your customers said and ranks it. The hard part is that people don't write tickets.
The Screen Kept Going to Sleep
A fullscreen clock is a trivial app right up until the screen has to stay on for eight hours.
AI Coding Agents Are the IDE Now
Claude Code, Cursor, Windsurf. The tools changed faster than I expected.
Building UI Inside an App You Do Not Control
YouTube Playlist Search adds a search box to YouTube. Writing it took an afternoon. Keeping it alive through YouTube's redesigns is the actual work.
MCP Changed How I Think About AI Tools
Model Context Protocol makes AI tools talk to everything else. I didn't expect to care this much.
How I Built 9 Apps with Vibe Coding
A look at my approach to building and shipping apps fast using AI-assisted development and engineering intuition.
Four Clicks Is a Product
Google Watchlist Quick Open deletes a navigation path nobody should have to memorise. That is the whole pitch.
I Finally Used React Server Components for Real
After months of reading about RSC, I built something with them. Some thoughts.
Local-First Is Having a Moment
CRDTs, sync engines, offline-capable apps. The local-first movement is getting practical.
The Smallest Useful Thing I Have Shipped
DirectWhats is one input and one link. It exists because WhatsApp decided you should not be allowed to do this.
Hello World: Why I'm Building in Public
The first post on my new site. Why I decided to start sharing my building journey, and what you can expect.