A Navbar To Nowhere: A Decade of Redesigning My Website
If you are reading this, it means I actually shipped it. Finally.
I have been building my personal website since around 2013. Not this same website, mind you. A new version from scratch almost every time. Either the frontend, the backend, sometimes both.
Was I improving it? Was I trying to prove something? What is this all about?
Every few months or, sometimes, years I’d open an editor and begin again. The old version would be archived, and the cycle would restart.
Nobody (almost) ever saw any of it. Sometimes, I’d see a visitor or two. If only they knew it was the most elaborately maintained thing I have never actually published.
The eras
2013-2015: Bootstrap
In my student years, after one of the first coding experiences in a web design workshop, I built the first version of my personal website using Bootstrap. Built, but never released. There were too many things that had to be improved first, of course. Just the first batch of broken eggs.
2015-2019: HTML and CSS
My PhD years were some of the most fascinating professionally. If I had high standards before, they were nothing compared to those I had after. It must have been my purist era. As I was a webmaster at a student society, I decided to rebuild my website from scratch using the fundamentals - basic HTML and CSS. Well, I am no designer, and without a frontend framework, it showed. After fiddling with responsiveness and misbehaving pixels, I left it for yet another day.
2020-2023: Self-hosting on AWS
As I entered the workforce and started using the cloud, inspiration visited me again and I decided I would self-host my personal website on my then-favorite cloud provider, AWS. I loved the fact that I could just click, click, click and have things spinning and computing and communicating. If only I had known Terraform back then. S3 + CloudFront + Route 53 + ACM only cost me about $1.50 per month (and I think this bill included another site I was hosting at the time).
The UI had to be updated and I moved on to UIkit. I purchased this domain. I started writing about my freelance project on a neural search engine I was building. That was pretty cool stuff for 2021. My website was live, but nothing got published. The infrastructure was nice, the design was minimal (acceptable), but the content remained on my personal computer.
2024 onward
It was perhaps in 2024 that I moved on from AWS to one of the local web hosting providers, since the cost of self-hosting a single mailbox on AWS was too high, in terms of money as well as time. It felt like moving from Linux to Windows.
When the sweet two-year hosting deal expired in 2026, I moved to GitHub Pages: free, simple, and hard to over-engineer. I set up my email on mailbox.org (a provider based in Germany). More than a decade later, the backend was finally done.
And yet, all my page ever was: a shell of a website with an image and a navbar. To nowhere.
The frontend and backend of my website kept changing, but one thing did not. While I was always capable of achieving whatever I wished, I was never able to ship it. And if you know me, you know I never struggle to deliver at work. Of course, my main goal has always been to learn, to try things out, to build, and I always enjoyed the process. But a personal website would define me, so I had to get everything right, even though I never wished to be a web designer or, god forbid, a blogger.
So what has changed, in the year 2026?
We are living through a moment where the gap between “I have an idea” and “this is a working thing in the world” has collapsed to almost nothing. AI can plan, build, debug, write the first or final draft, and provide emotional support throughout the process.
Also, that time is here again - time to upgrade my website.
I am writing this as Codex is fixing my environment so that I can test my website locally before I merge these changes. It is fixing all kinds of configuration issues on my computer. A few years ago it would have been me doing that, together with Stack Overflow.
Instead of trying to get everything right, I can now focus on doing what I want, and leave the rest to the models.
Local Jekyll testing is set up and verified.
And so, off I go.