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.