Database Migrations Without the Panic
Expand-contract, shadow tables, and the small rituals that make schema changes feel almost boring.
This is placeholder body copy. In a real post there would be an argument here, built one paragraph at a time, with the kind of small detours that make a technical essay feel like it was written by an actual human.
The repository this page lives in exists to demonstrate behavior of the Next.js router, so the content is intentionally boring. Any similarity to real insight is entirely coincidental, if occasionally welcome.
If you are reading this from a prefetch-triggered hover, congratulations, the link worked. If you are reading it after a full navigation, that also counts, and you have learned something about how caches behave under load.
More posts
Why We Stopped Using Barrel Exports
A single `index.ts` can quietly double your cold-start time. Here is what we replaced it with.
Writing Effective Pull Request Descriptions
Reviewing is expensive; the author pays the smaller cost of writing so the team pays the smaller cost overall.
Async Work Is Cultural, Not Technical
Tools only help if the team already believes written communication is the default. Here is how to get there.