Article Zero will explain why this series exists. This one is the boring companion: how this site is put together.
If owning your work only matters when you can actually operate it, the operating part deserves its own page.
The short version: I kept talking myself out of the clever option. Every time, the simpler one was better.
What I assumed
I write on my MacBook Pro in plain Markdown and build the site with Hugo, which turns it into plain HTML with no database and nothing to rot. That part was never in question.
I host with All-Inkl – a small, independent German provider I’ve relied on for years, across more than this site, and it has quietly done what it said it would the whole time. I picked the ground I wanted to stand on before I thought about the tools I’d use on it.
And I assumed that ground was too plain for the modern way of doing things – no git, no clean deploy, none of the conveniences. I was ready to write that up as the price of choosing trust over convenience.
Then I checked. Git was there the whole time – pre-installed, ready, nothing to configure. My premise was wrong, and for a moment I wanted the full monty: git everywhere, the server building the site, proper analytics, the works. Nothing was being forced on me anymore, so why not have all of it? Three times I reached for the clever version. Three times I put it back.
The first temptation: git everywhere
Git is the tidy, modern answer, and I wanted it. Version history on the server, a clean push to deploy, the satisfying feeling of doing it properly.
So I made myself ask what it would actually buy me here. Git’s real gift is history – seeing what changed, rolling back. But my articles are written once and don’t change after publishing, and the history I genuinely care about, the drafts and edits, already lives in git on my own machine, where the writing actually happens. Versioning the deploy would duplicate, weakly, a history I already hold properly at the source.
So I left git where it earns its place – locally, on my laptop – and deployed the finished files with plain rsync over SSH. One command, no state, nothing to maintain. Versioning where things change; simple transfer where they don’t.
The second temptation: build on the server
The next clever idea was to have the server build the site – push, and let a hook run Hugo on the host. It sounds elegant.
But it means installing and running a build tool on shared hosting, adding a moving part exactly where I don’t need one. Hugo runs perfectly well on my laptop. The server’s job is the one thing it’s genuinely good at: holding finished files and serving them. So the build stays with me, and the host stays dumb on purpose. Less to break, and nothing on the server that could quietly change under me.
The third temptation: measuring you
There was a third temptation, and it’s the one you’d actually feel. I could add analytics – see who comes, what they read, where they drop off. But be honest about the numbers: this is a personal site, the traffic will be modest, and to measure it properly I’d have to inflict a cookie banner on you and quietly harvest a little of your privacy. For data I’d probably never act on.
So I didn’t. No analytics, no cookies, no banner. The server keeps its own basic logs, as every server does – but I’ve built nothing to measure you, and I don’t go looking. I won’t really know how many of you came by, and I’ve decided I’m fine not knowing. Enjoy the quiet.
What that leaves
Undramatic, which is the point. I write in Markdown, keep the history in git locally, build with Hugo on the Mac, and rsync the result up. The provider serves plain HTML and does nothing else. No database, no server-side build, no deploy pipeline that could fail on its own.
Three times I reached for the more sophisticated option, and three times the honest answer was that it added complexity without adding anything I needed. Sovereignty that’s painful to run doesn’t get run. The version I’ll actually keep going is the simple one.
That’s the whole trick, really – not taking all the control you can, but keeping only the control that earns its place, and making the rest boring.