When I decided to build this site, I had a choice: use a modern framework like Next.js or Astro, or stick with plain HTML and CSS. I chose the latter. Here's why.

Simplicity wins

A personal site with a handful of articles doesn't need a build step, a package manager, or a deployment pipeline. It needs to load fast, render correctly, and be easy to maintain. HTML and CSS deliver all of that with zero dependencies.

Performance by default

Static HTML loads instantly. There's no JavaScript to parse, no hydration to wait for, no client-side routing. The browser receives the document and displays it. On slow connections or older devices, that difference is noticeable.

"The fastest code is the code you don't run."

Future-proof structure

I've structured this site so that migrating to a static site generator like 11ty would be straightforward. The HTML is semantic, the CSS is modular, and the content is separated from presentation. When I outgrow manual updates, I can add a build step without rewriting everything.

When to use more

Frameworks excel when you need interactivity, dynamic data, or complex routing. For a blog or portfolio, they're often overkill. Choose the right tool for the job—and for a simple personal site, the right tool might be the simplest one.