I use AI coding agents every day. I believe they are reshaping how we build software, and I think the teams that adopt them deliberately will outperform those that don't. I am not writing this to warn you away from AI-assisted development. I am writing this because the loudest voices in the AI enthusiasm camp are also the most allergic to discussing what can go wrong. And that worries me more than
I travel a lot. And every single time, I'm standing in an airport Googling "do I need an adapter for Thailand" while my boarding group is already lining up. The existing tools for this are bad. They're buried in blog posts from 2016 with popup ads, or they're a wall of text that doesn't actually answer the question. I already had most of the data. My destination guides on Vientapps cover dozens of
An SSG benchmark across five React frameworks, from one thousand You're building a marketplace. Or a documentation site. A wiki, Five minutes. Ten. Twenty. Maybe an hour. Maybe a stack trace. You don't know in advance — and the public benchmarks won't tell So I built a benchmark for the gap. Five frameworks in a pnpm workspace, each rendering one dynamic /posts/[id] from a shared deterministic d
On Second Thought — Episode 06 The ORM hides the SQL. The cache hides the ORM. The service mesh hides the services. The operator hides the YAML, which already hid the kubelet, which already hid the container, which already hid the process. By Tuesday, nobody quite remembers what the original problem was. They are too busy configuring its sixth wrapper. This is the post about that wrapper. When som
Every team experiences incidents. The teams that grow stronger from them are the ones that take postmortems seriously — not as blame sessions, but as structured learning opportunities. Yet most postmortems end up as a wall of text nobody reads twice, filed away and forgotten until the same incident happens again six months later. This guide walks you through writing postmortems that genuinely chan