maxbeizer — bash

cat rebuilding-with-astro.md

Rebuilding My Personal Site with Astro

For years, my personal site was a simple Gatsby app. It did the job — a single-page résumé with a sidebar, a /now page, and not much else. But Gatsby started to feel heavy for what is fundamentally a static page with some text and links. When I decided to bring back a blog, it felt like the right time to rethink the whole thing.

Why Astro?

Astro ships zero JavaScript by default. For a site like mine — mostly static content — that’s exactly right. No client-side React hydrating a page that doesn’t need it.

The other big draw is Content Collections. Blog posts are just Markdown files in a directory, with a typed schema for frontmatter. No GraphQL queries, no transformer plugins, no config ceremony. You write Markdown, Astro builds pages.

What changed

  • Framework: Gatsby 5 → Astro
  • CSS: Vendored Bulma 0.7.1 (185KB!) → ~200 lines of custom CSS with dark mode
  • Blog: Back from the dead, powered by Markdown and Content Collections
  • JS shipped to browser: React runtime → essentially nothing

The content stayed the same — Technologies, Employment, Education, Activities, the /now page. But it’s all cleaner now, with proper semantic HTML and a layout that doesn’t depend on a CSS framework from 2018.

Writing with an AI pair

I rebuilt this site by pairing with GitHub Copilot in the terminal. I described what I wanted, it explored the old codebase, proposed the migration to Astro, and we built it together. It wrote the scaffolding, I steered the decisions. Not a bad workflow for a site refresh you’ve been putting off for years.

More posts to come — probably about software, maybe about music, definitely about hot sauce.

cd ~/blog