I’ve had a WordPress site for years. It worked fine, and I still think WordPress lies at the base of what the internet is today. However, AI makes things possible.

So I started experimenting. Here’s what I learned.

Why Astro

The pitch for Astro is simple: it’s a static site generator that ships zero JavaScript by default. For a blog like this one — mostly text, some images — that’s exactly right. The pages are fast because there’s almost nothing to load.

The developer experience is good. The component syntax feels like a natural extension of HTML. Content Collections (Markdown files with typed frontmatter) are a clean abstraction for blog posts. The build output is predictable.

I looked at Next.js, Gatsby, Eleventy, and Hugo. Astro won because it felt like the least opinionated tool for this specific job. It doesn’t assume I want React everywhere (though I can add it where I actually need it).

Typography as design

Most of the design decisions on this site are typography decisions. The two fonts are:

  • Space Grotesk — for headlines. It’s a display font with variable weight and a geometric character that still feels friendly. At heavy weights it has presence without being aggressive.
  • Rubik — for body text. Slightly rounded, very readable at small sizes, works well at UI scale too.

They contrast well. Syne is a bit strange; Rubik is reliable. Together they feel editorial without being precious.

What I kept simple

I like the dark-mode. No comments system. No newsletter signup. No analytics JavaScript dropped on every page load.

The goal was a site I’d actually want to use, not a demonstration of every feature I could implement.

The source is all Markdown files and Astro components. When I want to write something, I open a text editor and write. That’s the whole workflow.