YAGNI: Camping Chair Development
I joined Matt Swanson on YAGNI to talk about how I build software now across Fireside, Flipper, and Box Out. Some of it even happens from a camping chair.
Some of the highlights:
I’m Not a Craftsman. I always thought of myself as a craftsman. Bespoke furniture. Samurai. Honor. All that. Then on December 14th I turned on a 20x Claude plan just to try Opus and realized nope, I just love shipping stuff and solving problems. These days I read the data models and the queries because those affect how fast things are for customers. JavaScript and view code? I don’t read it. Does it look right? Is it responsive? What’s my Lighthouse score? Good enough.
Stripping Back. I went through a phase of plugins. Compound engineering, gstack, etc. Lately I’m removing things. The tools love to be perfectly correct and solve every theoretical race condition, and you end up with a ball of mutexes that gives me a stomach ache. Is it theoretically wrong? Yes. Does it ever happen in practice? I don’t think so. Less perfectionism, more shipping.
Rewriting Fireside’s Infrastructure From a Camper. When we acquired Fireside, it was on super outdated Ubuntu and Postgres 9.5 with SSL handled by a tangle of Nginx, background jobs, and Redis. I asked what tool does all this and the answer was Caddy. Reverse engineer the current system into a markdown file, describe the new state, let it rip. I missed one host header. In three days I rewrote about 80% of our infrastructure while driving a camper six hours a day and sitting by a fire at night. I’m a scaredy cat about downtime, but it comes up with ways to smoke test everything before you flip the switch that I would never have done before.
Brain or Hands. Matt had a great framing: sometimes you’re the brain and the agent is the hands, and sometimes it flips. I hate being the hands, clicking through some cloud console because the agent told me to. So now I make a temporary API key that expires in an hour and let it do the work. Honestly, I want a new kind of key: read only, plus write access to anything it creates, for a limited time.
Too Many Open Loops. I want a hundred agents cranking on stuff for me all the time. But every agent tool shows you all of them, all the time, and each one sticks in the back of your brain. What I want is something like Railway’s canvas for agents. Every worktree is a box on an infinite canvas. Group the Flipper gem, Flipper Pro, and Flipper Cloud worktrees together, move the rest out of the way, and stop carrying it all in my head. I’m too lazy to build it. Someone please build it.
Prove It. I had the agent go through my past chats and tell me what to turn into skills. Number one was /prove: prove to me that what you did works all the way through. Then I ask how we can break it. Or I just gaslight it with “make fewer network calls” and it goes, “you’re right, I missed these N+1s.” Verification is now the biggest blocker and the hardest thing.
Fake Everything. Matt brought up the idea of having agents build fake versions of third party APIs, like a vibe coded fake Slack that runs next to your app. No more booting on port 3000 so OmniAuth callbacks work. Simulate rate limits and outages with a flag. It reminded me of Toxiproxy from my GitHub availability days. Box Out is all social integrations, so we should totally do this for X and Meta.
Straight to Prod. Garrett asked if we could finally set up staging for Fireside. I don’t use staging anymore. I want to get to prod as fast as I can, because that’s where I feel it now. Matt nailed this: the flow and satisfaction didn’t go away, it just happens at a different point in the process. It used to be when the code was clean. Now it’s when the thing is live and people are using it.
Talking All Day. I’ve had hand and arm problems my whole programming life. Now I talk to my agents all day with Wispr Flow. My only problem is a sore throat. If anything, AI has prolonged my career.
We also got into Cloudflare Tunnel for checking work from my phone, proving to an iCal provider that their feeds were broken (zero bytes since the day they launched their new thing), and why feature flags and APMs matter more when nobody reads the code. APMs are going to have to get a lot cheaper.
Listen to the full episode on YAGNI. I hope you enjoy it. If you want more, I talked about taste and AI on The Hallway Track last month.
Update 2026-10-01: Garrett and I went deeper on the Fireside rebuild, including Postgres 9.5 to 18 in one hop with no downtime for listeners, in episode one of our new podcast, The Friday Deploy.