Facelift
It’s been a while. Again. My last post ended with “maybe I should also give this blog a little makeover” and a call for a decent blogging setup without PHP. Nobody wrote me. So I did it myself. Well, kind of.
What changed
marc.fail and mgte.de are one site now. mgte.de had been a business card with a logo and a mail button since 2022, and honestly, nobody needs two places to find out that I build stuff after hours. mgte stays as the label on my projects, the domain just points here.
The blog also stopped pretending to be a blog. I post about once a year, and a homepage that greets you with “latest post: 11 months ago” helps nobody. So the front page now shows the things I build, like a small catalogue, and the notes collect what happens elsewhere anyway: articles, interviews, the occasional deep-dive. I cleaned up the archive, too. Some old posts made it, mostly the On Air Clock making-of and the keyboard rabbit hole. The rest was me writing about my blog setup, which is the most blog thing ever.
How it was built
This is the part I was actually curious about. I didn’t write the code. I built the relaunch together with Claude Code, in a conversation that felt like working with a very fast colleague who never needs coffee, but also never brings any.
It looked at both old sites, my GitHub and my LinkedIn, asked me a lot of questions about who actually visits this page, sketched some design directions, and I picked one. Then it built the site in Astro, moved the old posts, put everything into Docker containers on my server, set up a GitHub pipeline that tests and deploys on every push, and wrote a small stats service that reads the server logs instead of tracking anyone. No cookies, no banner. Afterwards two more agents reviewed it, one pretending to be you, one looking for security holes. They found some.
My part: deciding, killing bad ideas and vetoing jokes. Like I do as a Managing Director in the office as well.
What I learned
Hugo wasn’t the problem, me maintaining it was. The deployment that broke “every now and then for various reasons” is now a pipeline that rolls itself back when something fails. And the thing I wanted most in 2024, writing from my phone? Turns out I don’t need an editor for that anymore. I tell the agent what I want, then it drafts something, I completely re-write it in my code editor, tell the agent to push it, done. Like this post.
The old coding posts now carry a note that they were written before AI could do it for me. Every bug in there is handmade. From today on, I can’t promise that anymore.
Writing to you next year, at the latest. As promised.