← Writing

Why Astro, not Next.js, for this site

7 June 2026 Tech

Most people building a personal site reach for Next.js by reflex. I wanted to know why — and whether the reflex was right for me.

So I asked the question the way I always do: what is this site actually, and what does it actually need?

This site is mostly content. Pages of text, a project write-up, posts. It is not an app with logged-in users and live dashboards. That distinction matters more than the popularity contest.

  • Next.js is built for applications — server components, data fetching, a heavier runtime. Brilliant when you need it. Overkill when you don’t.
  • Astro ships zero JavaScript by default and renders content to plain HTML. For a content site that means it’s faster, lighter, and simpler — and I can still drop in interactivity exactly where I want it.

The dynamic part I do need — a contact form — is handled separately from the static Astro frontend, rather than pulling a whole application framework into a site that is mostly pages of text.

So: a static Astro frontend, with the one dynamic piece handled on its own. Not because a blog post told me to, but because I worked out what the site is and chose the tool that fits that.

That’s the whole method, really. Why this, why not that — asked honestly, every time.

astrofrontenddecisions