Every page returned 200. Some were still broken.
What I learned moving a website from Gatsby to Next.js one route at a time, and why the status code was the least useful check.
Blog
Guides and field notes on iOS, Swift and AI agents on production code. 9 posts so far.
What I learned moving a website from Gatsby to Next.js one route at a time, and why the status code was the least useful check.
Each agent takes one page. I decide the order, approve anything that touches production, and fix the rules when something slips. Here is how it works and what still went wrong.
My agents kept saying "all tests pass". So now they cannot open a PR without proof inside it.
My agents could see every problem. None of them could fix one, so every problem waited for me.
No big-bang rewrite. Small PRs, a warnings baseline on every PR and tests on the old code before touching it.
For six months a fleet of AI coding agents has done most of my production work. The agents were never the hard part. This is the machinery that makes it safe.
Learn why SwiftUI lists need stable identity, how Identifiable gives it to them, and the identity mistakes that make rows animate wrong or keep the wrong state.
Learn how @Binding lets SwiftUI views share and update state seamlessly. We'll cover the difference between read-only and read & write bindings, with clear examples to keep your code clean and in sync.
Discover how @State helps SwiftUI views manage their own data. A simple guide with clear examples to understand how state works and why it's essential for building dynamic UIs.