Build Log


3 min read

Rebuilding panzeri.rocks

From Hugo to Astro and back again

This site has had three versions in three years. The last one is the first that was built around the writing instead of around a tool.

Where it started

The first version, in May 2023, was Hugo with an off-the-shelf theme: a home page, an about page and a set of cheat sheets pulled in as a Git submodule. It even picked a new accent colour on every build. It worked, and it looked like every other Hugo site.

That was fine. Nobody visits a personal site for the theme. They come for something you wrote, read it and leave.

The detour

In July 2025 I started over with Astro and a polished portfolio template. The first weeks felt productive: new favicons, a tech stack section, job descriptions, a switch to pnpm, Prettier. By September the commits stopped, and a year later the site still wasn’t finished.

Looking back, the problem is obvious. A template is a stack of decisions someone else made for their own content. Every page I wanted meant first understanding their components and then bending them to fit. I spent my evenings adapting a design instead of writing. In two months I published three articles.

I didn’t stop because Astro is bad. It’s a good tool. I stopped because a JavaScript build chain, a package manager and a component library were a lot of moving parts for a site that is mostly text. Every one of them needs updates, and none of them made the writing better.

Back to Hugo

The new version is Hugo again, but with a theme written for this site only:

  • No third-party theme, no JavaScript, two self-hosted font files
  • English and German, with English-only posts shown on the German side instead of hidden
  • Diagrams as inline SVG that follow dark mode, so a drawing never needs a second file
  • Built with one command and deployed by a short script that rsyncs the output to a VPS

The design follows the Swiss typographic style: one typeface, a 12-column grid, black, white and one red. Having so few choices is the point. When the only question left is what to write, I write.

The whole theme is a handful of templates and one stylesheet. I can read all of it in an evening, and in five years it will still build.

What it costs

Money, almost nothing. The site is a folder of static files on a VPS that already runs my other projects, so the only cost of its own is the domain.

The real cost was time, and most of it went into the detour. The rebuild back to Hugo was quicker than the Astro version ever got to “almost done”, because there was nothing to adapt, only things to decide.

What I’d tell you

If you’re picking a stack for a personal site, pick the one with the fewest moving parts that you can still understand completely. For me that’s a static site generator, plain CSS and no JavaScript. For you it might be something else, but test it the same way: can you leave the site alone for a year, come back and publish a post in ten minutes?

Don’t start from someone else’s portfolio template. Start from the text. Write three posts, then build the smallest design that makes them easy to read. The design can grow later. A site with nothing on it won’t grow.

The boring option usually wins. This site took me three years and one detour to relearn that.

Share