← Back to Blog

Relaunching my blog

Why I relaunched my blog and how I did it.

Thumbnail for the article.

Having a personal blog in 2026 feels a bit like having a MySpace site or being on Facebook. Still, I decided to revamp my personal blog (and actually, my entire website) this year. In this post, I want to briefly cover why I’m doing this, and also what technology I used to build this.

Why a blog anyways?

This is a very valid question. There are tons of great blogging sites out there and I’ve used many of them before. My first post was published on Medium, and there are great alternatives like dev.to and HashNode. You can select to post on Reddit, write longer articles on X and I’m sure I’m forgetting about great alternatives.

But by design, all of these sites lack one thing - control. It’s not necessary a bad thing, because they make up for that in many regards. The UI helps you through the entire process. It might give you tips on topic selection, the writing process is assisted and publishing is super easy. So what do I mean by control?

I want to take Medium as an example. When I wrote my first blog post there (which is still available here), it was a free site where you could read all content. But after a while it switched its business model to make most content available behind a paywall (there were limits you might argue, but I’m trying to make a point here). As a write there was an option to opt out of this and make your posts available for free to all readers (which I did, but it’s not like I had the following that this would make a huge splash), but this made me think…

The site gave me the advantage that the publishing channel lead to people discovering my articles for free. That was great and I was blown away by how many people saw the posts. But crucially this was a black box for me. If they changed their algorithm and no one was shown my genius ramblings anymore - there was not a single thing I could do against it (I think this is part of a larger movement called “enshittification” and I want to write about this in the future).

I don’t want to say that every blogging site will face this situation eventually, but for me the possibility alone is enough to try and build my own little site in the end. This is a very personal decision and not something I recommend to everyone. I know people who started posting on these sites and have seen tremendous success and I’m very happy for them (really are). But I wanted to be in control of the entire pipeline from the start to the end.

This was a long explanation to hide the fact that I just needed to justify changing the tech stack of my blog and rewrite it from scratch. We all want to do it and I found an excuse.

My previous blog

Before diving into the stack of the revamped blog, I want to quickly explain how I built my previous page and why (bear in mind: that was 6 years ago). It was built using a static-site generator (great idea) that was written in Swift (great language) and required a Swift implementation (debatable idea). It has used the Publish framework written by the great John Sundell.

Was it the best idea to write a web application using a language primarily used to write mobile apps (I see you Vapor, but Swift is still mainly for mobile dev)? Probably not. Do I regret it? No, not at all. But the situation is a bit more complicated, and I want to briefly explain.

The reason I went for Publish as a static site generator was because upon creating the blog, I was mainly developing in Swift for iOS. Writing code in Swift felt at home, and although there was (a bit of) HTML and CSS (much more) knowledge required, it was fun for me to write. The performance was great and the developer experience good enough.

It did what it should and I even had the great pleasure to hear from people who took inspiration from my implementation (which I open-sourced) and told me that it was a huge help for them when writing their own site. That is one of the coolest compliments and for that reason alone, I’m not regretting anything.

Why the re-write then? I’m glad you asked! I’m a big fan of the “right tool for the right job” principle. While it was fun to play and figure out the limitations of the framework, it still became obvious that it’s just an additional (and somewhat) unnecessary layer around HTML. I’ve done quite a lot of web developer work in the past years and have a decent knowledge by now.

This is the reason why I wanted to get rid of the additional implementation layer and instead find a tool that suits my skill set and is perfect for the job. Luckily, I found the perfect fit!

My new blog

In my day job I’m lucky to be working on a diverse set of frameworks and technologies. During that, I stumbled upon Astro and immediately fell in love with the experience. It’s not perfect, but it nails a lot of things. It has a great developer experience, it’s fast (both in development and in production) and doesn’t introduce any hurdles in the process.

At the core it’s a static-site generator. It takes all the code you write (which may include logic written in JavaScript) and compiles it into raw HTML that is served statically to the user. That level of performance and loading speed is unmatched and leads to a great UX for my users. I don’t need to build a full-blown React app, because that doesn’t give me any value in that case.

I can write my blog posts in Markdown (which means I can write this piece using Obsidian on my iPad), and they’re all converted into HTML right on the go. The templating language and gray matter integration from Astro make it super easy to add additional wrapping around every post with minimal code additions. In the end it still serves raw HTML, which (not sure I mentioned already) I love.

It integrates flawlessly with TailwindCSS and all other tooling (see their integrations) I like in the web ecosystem. Which (funnily enough) isn’t too much. I like staying as close to the core as possible, because I feel like knowing the basics (semantic HTML and raw CSS) should be the timeless baseline that allows anyone to pick up frameworks much quicker.

I’ve not yet seen the need to, but I can also integrate any of the popular web frameworks (React, Svelte, Vue) if you like using their island architecture. This versatility is hard to beat. I have plans to expand my site and these options will come in very handily for this.

The only addition I’ve done so far is adding an analytics provider. I’ve done quite some research to find one that is privacy-focused, easy-to-use and lightweight (and run on EU infrastructure, which is a huge plus). The choice I ended up with is Plausible Analytics. While it’s not cheap, it gives me everything I want, while not being a data hog. And I don’t even need cookie banners due to their GDPR compliance.

Summary

It’s still early days but for now I’m really happy with my choice(s). The experience of having developed with Astro has been great. Their documentation is enjoyable (which you can’t say about many frameworks), the speed of iteration has been amazing, and it has given me something that’s hard to quantify: fun.

There is an excitement that comes with building something from scratch and the feeling of the tool not being a hinderance, but enabling you to unleash the creative powers is a great experience. I truly believe that in the age of AI, we need to ensure that we don’t get rusty, but keep writing, experimenting, and having fun with the tech we’re engaging with.

Not for a second have I felt regret about writing my previous site with Swift and Publish, it has been amazing at the time. My skillset has changed, my focus has changed, but the fun of implementing something with a tool that is crafted with love and attention to detail has not. I will open-source the website in the future (once I’m happy with the quality of the code) and in the meantime I will keep adding to the site. Blog posts, design improvements, and I have many many more ideas.

Thanks for following the post in its entirety, it has been great getting back into the writing flow and in case you want to get in touch, feel free to do so on one of the platforms listed below. Would love to hear your thoughts, the choices you have made and (most likely) why I did a horrible job with the ones I’ve made. Cheers.