Blog
Thoughts on engineering, AI, and building products
Most AI agent demos look great until they hit real data. Here's what I learned shipping agents at scale — retry logic, fallbacks, and knowing when to punt to a human.
Redux is powerful but it's also 200 lines of boilerplate for a shopping cart. A pragmatic look at Zustand, Jotai, and server state after 3 production migrations.
Honest retrospective on migrating a 40k-line codebase from Pages Router to App Router. What's genuinely better, what's a footgun, and what we'd do differently.
Treating prompts as throwaway strings is how you end up with a broken product at 3am. Version control, testing, and rollback strategies for LLM prompts.
A month-by-month breakdown of building ProductA.ai from first commit to seed round. Spoiler: it wasn't coding. Distribution, user interviews, and founder therapy.
Not generics 101. The patterns that actually matter in large codebases — discriminated unions, template literal types, branded types, and satisfies.