After shipping three AI products, here are the patterns that actually work — and the mistakes I made so you don't have to.
A practical retrospective on migrating from Pages Router to App Router — what surprised me, what tripped me up, and what I'd do differently.
The decisions that are obvious in hindsight and painful to refactor: versioning, error shapes, and why naming matters more than you think.