My database had two postmortems. My live site showed one. Nothing was broken, a cache was doing exactly what I told it to do. A field guide to the four ways of keeping a Next.js site fresh, and the strategy I shipped that night.
Read post →Writing
Blog.
Software engineering, systems thinking, and building in public.6 posts
AllarchitecturecachingdatadebuggingDeveloper Toolssvg and the markdownDevOpsFilesystemLinuxnextjsperformancepostgresqlprismaprocessproductreflectionSSDstacktailwindTerminaltradingtypescriptUbuntuwriting
12 Jul 2026
The Case of the Missing Postmortem: Choosing a Next.js Revalidation Strategy
7 Jun 2026
My Ubuntu Laptop Almost Died Mid-Session — Here's How I Diagnosed and Fixed It.
What started as a noisy fan turned into a full filesystem recovery. Here's the exact trail of commands that saved my machine — from spotting EXT4 journal errors to running fsck from a live USB.
Read post →26 May 2026
The stack I use in 2026 and why
Next.js, TypeScript, PostgreSQL, Prisma, Tailwind. Here's the honest reasoning behind each choice — including what I'd swap out.
Read post →26 May 2026
Building a trading journal: what I learned tracking my own data
I built TradeLog to understand my trading patterns. Six months in, the data showed things I wasn't ready to see.
Read post →26 May 2026
How Prisma 7 broke my setup (and how I fixed it)
Upgrading to Prisma 7 introduced a new engine model that requires driver adapters. Here's exactly what failed, why, and the fix.
Read post →26 May 2026
Why I document every project with a postmortem
Most developers ship and move on. I ship and write a postmortem. Here's why that habit changed how I build software.
Read post →