maxbeizer — bash

cat thoughts-on-astro.md

Thoughts on Astro So Far

I recently rebuilt this site with Astro. I didn’t pick it — my AI pair programmer did. I was happily ignoring my Gatsby site when Copilot suggested a migration, and three minutes later the whole thing was scaffolded and deployed. So here I am.

What I like

Astro ships zero JavaScript to the browser by default. For a site that’s mostly text and links, that’s exactly right. No React runtime hydrating a page that doesn’t need it. The output is just HTML and CSS. That’s refreshing.

The .astro file format is straightforward once you get used to it. Frontmatter at the top, template below, component imports that just work. It’s less ceremony than Gatsby’s GraphQL-everything approach, and the build is fast.

What I’m still getting used to

The frontmatter pattern — code in a fenced block at the top of what’s otherwise a template — is a little odd if you’re coming from other frameworks. It’s not bad, just different. I keep wanting to reach for patterns from other ecosystems.

I’m told Astro has something called Content Collections that handles blog posts with typed schemas. Honestly, I haven’t dug into the details yet. Copilot set it up, it works, and I haven’t needed to think about it much. That’s either a compliment to the design or a sign that I should pay more attention.

The real question

Does the framework choice even matter that much for a site like this? An AI rebuilt the entire thing — framework, styles, content migration — in minutes. If I wanted to move to Hugo tomorrow (and Go is a language I at least somewhat enjoy), the migration would probably take about as long as my coffee takes to brew.

I think Astro is a good tool for static content sites. But I also think the era of agonizing over which static site generator to use is fading. The content is what matters. The framework is just plumbing. And plumbing is getting really easy to swap out.

Would I pick it again?

Honestly, probably not — but not because of anything wrong with Astro. I just find it hard to keep up with the JavaScript ecosystem. Things move fast, dependencies churn, and for a personal site I’d rather pick something boring and stable. Hugo is tempting for that reason.

But for now, Astro is doing its job. The site is fast, the blog works, and I haven’t had to think about webpack once. That’s a win.

cd ~/blog