Why Astro?

Astro is awesome. It feels like a huge upgrade for writing a mostly static website from scratch. I’ve used Astro for two projects so far. The speed of the content loading, the insistence on mostly HTML with some JS sprinkled in, but with all the modern tooling and goodies I expect when working on a modern React project are the reasons I like Astro and will continue to use it.

Project One

The first is a private project for someone that is not in my public repos. The goal for that project was to create a mostly static page that was informational. Then, there was one interactive part that users could click to submit a form so I could collect some information. The site is blazingly fast and I can load the less fast content as-needed. Because I was collecting user data, I was able to get into Astro’s “actions” which worked quite well out of the box. There was type safety and validation with minimal friction. And, because I am using Tanstack Form, I could re-use my validation across the client and the server! How neat!

Project Two

The next project is this current blog. Because of my success with the first project, this felt like a natural choice. As of writing this, my blog isn’t well styled and is very incomplete, but Astro keeps it easy and fast to upgrade.

Summary

When thinking about how to build those projects, I immediately went to “oh well I have to use Tanstack Start.” However, I wasn’t super on-board with that approach because it felt wayyyyy to heavy for what I needed. My next thought was just some static CSS, JS, and HTML. I have a friend that sent me a website he made for someone that sells T-Shirts and it was a small zip file with static Shopify links. It was fast, functional, and exactly what the client needed. However, building a website this way reminded me of my “Web Design 101” class I took in high school. I expect reusability, hot reloads, type safety, and all the other little things that make web development just a little bit easier. Astro does that and it does it well. To be clear, Astro is not a candidate for building a “web app.” However, for web sites and mostly static pages, Astro is the ideal candidate.