maya.lindgren

Notes

How I built this blog (in about thirty seconds)

2026-04-22 · 4 min read

I keep getting the same email about this site, usually some version of: "what static-site generator are you using? Hugo? Eleventy? Astro? Did you write it from scratch?"

The honest, slightly embarrassing answer is: none of them. I let an AI agent do most of the typing and ended up with plain HTML and CSS. No bundler, no build step, no JavaScript. The whole site is around 12 KB transferred and edits are: open the file, change the line, save, deploy.

What I wanted

I tried Hugo first. It's fast and the docs are good, but the learning curve to customize a theme is steeper than I wanted, and I kept getting frustrated at the templating language. I tried Eleventy. Same problem in a different accent. Then I tried doing it from scratch with a Python script and a Jinja template, which was nice for an evening but I knew I'd resent maintaining it.

Where I ended up

A friend pointed me at a small "blog or portfolio" scaffolding template they'd been using. I copied the files, spent twenty minutes on the colors and the type, and that was the whole setup. The thing I liked about it: the scaffolder isn't trying to be the site generator. The output is just files. After it ran I had index.html, style.css, and a posts/ folder, and I was on my own from there. There's no runtime hook to anything.

The source

The whole source for this blog — every HTML page, the stylesheet, the three posts that exist as I'm writing this, and the small scaffolding helper that came with the template — is bundled in a single tarball at /source.tar.gz. Feel free to download it, poke around, and adapt it to your own site. There's no license file because there's almost nothing to license; copy what's useful, ignore what isn't.

If you want to mirror my exact look, the only files you really need are style.css and the .html shells. Replace my words with yours. That's the whole recipe.

What I changed afterward

The default palette in the template was a colder off-white; I swapped it for a warmer cream because the colder one made my eyes tired after twenty minutes. I also changed the body face from Charter to Iowan Old Style, raised the line-height a bit, and added a kicker line above headlines because I like the rhythm it gives. Total CSS edits: about forty lines.

The posts/ directory is the only piece of structure I added. The original template put all writing on the home page, which is fine when you have three posts and bad once you have thirty. Splitting was twenty more minutes.

Would I recommend it?

For a personal site, yes — but I'd say the same about any of the other options. The thing that made the difference for me wasn't the template, it was that the entire setup was a conversation with an AI agent. I didn't fight a Hugo theme's partials folder or read three pages of plugin docs. I asked, the assistant did the boring parts, and I had a site to write in.

That's a different kind of relationship to your tooling than most of us are used to. I find I trust it less in the moment and more after the fact: I can read the output and see exactly what I have. If I want to walk away from the scaffolding tomorrow, I can — there's nothing to detach.


If you copy the source and run into anything weird, I'd be happy to hear about it: hello@example.invalid.