Replacing Medium for my blog
29 Jan 2026
data ownership
This is a post in the series about my data ownership and me becoming independent of big tech.
I practically never blogged about anything, but I did manage to write up a few pieces about tech things I did in the past, and those were hosted on Medium.
I picked Medium back then as it provided a simple solution for getting started. I don’t aspire to become a big blogger, and anything I put out there will likely be akin to shouting into a big, slop-filled void, but blogging serves as a way for me to improve my learning process and have a tangible output of a project.
Although I do not think that Medium counts as big tech, moving to a blog within my control will count towards data ownership. After all, why shouldn’t I move out?
Requirements for blogging software
I’m a simple man and I don’t need most of the fancy stuff that a blog host provides. I don’t need the community, and as a software engineer, I don’t need a pretty WYSIWYG editor. Markdown will be plenty.
What I do need is a system that:
- Reads markdown and provides HTML pages
- Can pre-render HTML pages that I can drop to my website
- Can create pages containing JavaScript
- Can render nicely looking mathematical equations
- Can have published and unpublished posts
- May have a small learning curve, but should be easy to work with
System chosen
I quickly found a few static site generators, including Jekyll, HUGO and 11ty.
I have never used any static site generator and so do not have strong opinions. For no apparent reason, I picked Jekyll to just try something.
Setup
To make things easy on myself, the blogging environment should be easy to move around and be kept in a centralized place. I will do that by running it in a devcontainer and commit the whole blog with contents to git. A day may come where I need to serve heavy videos and have to reconsider that, but as of now, having everything in git and hosted on my own website will suffice. Jekyll is available as a Docker image, but even without it, simply using a ruby image and installing Jekyll in the container is quite simple. This way, I have an easy-to-use, portable environment that I can git clone and use everywhere.
Building the blog is easy with Jekyll, and deploying is as easy as dragging & dropping the static files generated by Jekyll.
Migrating old posts out of Medium
Getting my old posts out of Medium was actually surprisingly simple. Kudos to Medium for making this very easy (as it should be!).
The data export did not contain any of the images/gifs from the posts, but were instead img-tags refeferences. Luckily it’s trivial to fetch those.
There were a bit of tweaking to turn the pages into nicely formatted markdown files. But overall, the process was much better than anticipated.