$ ls posts/
Writing
Notes on frontend at scale, architecture, and the unglamorous engineering that keeps teams shipping.
- 2026-07-23
How I decide between integration tests and e2e tests
A working framework for choosing e2e tests over integration tests, built from watching both kinds fail in production. testing - 2026-07-21
Astro vs React for a site that is mostly content
Pick the framework by how dynamic the page really is, not by habit. astro - 2026-07-04
Deploying a static site to S3 and Cloudflare with GitHub Actions
A cheap, fast deploy pipeline for a static site using S3, Cloudflare, and GitHub Actions, with the IAM and cache-purge parts people skip. aws - 2026-07-04
NestJS or plain Node: when the framework earns its weight
NestJS is not better than plain Node. It is better past a certain team size and worse before it. Here is where the line sits. nestjs - 2026-07-04
How a static site captures leads with no backend
A static Astro site with no server can still capture leads and email you, using a Cloudflare Worker, Notion, Resend, and Turnstile. astro