My personal website was born in 2015 when I took an introductory web development course by BSD Education. Since then, it has been re-architected multiple times over the past decade as my personal and professional interests evolved. The details can be found in my blog post Migrating my website to an event-driven serverless architecture from 2023.
The serverless architecture based on Alibaba Cloud served me well and required almost no operational maintenance from my end. All that was required to publish a new blog post was to author it in Markdown and upload it to an object storage bucket and the site would handle the rest by converting it to HTML on the fly for each request. This was the ultimate solution for my website – minimal, content-focused and hands-free. Or so I thought.
I received a notification email on a Monday morning from Alibaba Cloud that the API Gateway service responsible for request routing would be decommissioned by September 2027 with just over a year to migrate to their next-generation replacement known as Cloud-Native API Gateway. The replacement achieves feature parity with the original service plus additional features tailored to Kubernetes and AI workloads that I would not require anyway so it would have been a straightforward one-off migration. There’s just 1 little problem – I’ve been using the shared API Gateway instance all along which was free of charge. The replacement service mandates creating a dedicated instance which would cost me HKD$1K/mo even with the most cost-effective resource specifications. Not terribly expensive by enterprise standards but definitely not worth the buck just for a simple personal website. The verdict was clear: either I re-architect my website altogether or face the increased costs.

I spent the night brainstorming my available options. Should I self-host on the beefy mini PC with 96G RAM I purchased just over the past month? Should I settle with a lightweight VPS such as Amazon Lightsail or Huawei Cloud Flexus L? Should I give that shiny, new note taking and visualization app Obsidian a try that my colleague is already using to build their website with Obsidian Publish? After multiple rounds of exploring the pros and cons of each approach with Gemini, I decided to settle with a Personal plan on WordPress.com fully managed by Automattic, the creators of WordPress.
Read on to understand the rationale behind my decision and trade-offs considered for each of the alternative solutions above.
Self-hosting on Kubernetes with K3s on my mini PC
The first idea that sprung to my head was self-hosting on Kubernetes with my existing K3s setup within my mini PC homelab, leveraging open source software and frameworks such as WordPress or Wiki.js. The infrastructure plumbing and platform tooling were already there: Argo CD for declarative GitOps management, External DNS for internal DNS management (no pun intended :-P), cert-manager for TLS certificate management, etc. All I had to do was deploy the app, expose it with tools such as Cloudflare Tunnel or WireGuard and point my DNS to the public-facing IP and my re-architected website would go live immediately without paying a single dime on cloud services or SaaS for hosting my website.
Once the initial rush and enthusiasm subsided, the glaring shortcomings became apparent.
- With a VPN tunneling solution such as WireGuard, I would still need to rent a cloud server with a public facing IP address, install and configure WireGuard on it and routinely manage OS + software updates and security patches myself
- Running my personal website from my homelab means I have to keep my mini PC on 24/7 even when not actively using it. Since it’s sitting right in my bedroom with spectacular RGB fan lights when powered on, I’d need to tolerate the lights while sleeping or find a way to disable or block the lights
- My mini PC homelab was originally intended for private use within my home Wi-Fi network with lenient security defaults for convenience. Hosting a public-facing website means I must harden my setup appropriately or face ongoing risk from malicious human or Mythos-level AI adversaries seeking to compromise my website and the rest of my home network
- Even with the appropriate enterprise-grade security hardening measures in place such as those I learned through preparing for and passing the CKS in 2025, my website could still be compromised through zero-day attacks performed by intelligent, automated AI adversaries. By extension, any single successful attempt, no matter how unlikely, would place the mini PC itself and the rest of my home network in jeopardy, a risk I am unwilling to accept
Hosting WordPress on a lightweight VPS such as Amazon Lightsail
Initially, I thought lightweight VPS solutions such as Amazon Lightsail or Huawei Cloud Flexus L with pre-made WordPress images would provide a mostly hands-off experience similar to managed cloud services such as Amazon RDS or EKS. I would focus on content authoring, publishing and site customization while the cloud provider (AWS or Huawei Cloud) would handle the OS + software upgrades and patching under the hood.
A swift Q&A round with Gemini quickly revealed my misconception. In reality, Lightsail or Flexus L behave mostly as unmanaged cloud servers similar to launching a bare Amazon EC2 instance with a pre-baked WordPress AMI. I would still have to manage WordPress and OS upgrades and patching frequently and configure stuff via the command line. That would bring me back to the 2021 situation where I spent more time managing my cloud server than I did authoring and publishing useful content.
Giving Obsidian a try with note-taking, visualization and blogging
Obsidian treats Markdown files as first-class citizens which appeared to be the perfect migration target for my existing Markdown blog posts. All I had to do was copy (download) my existing files and publish them to the Internet with Obsidian Publish. A close colleague of mine has already been using it over the past year to manage and publish their notes and websites with AI.
My only gripe with Obsidian? It’s heavily based on open standards (Markdown) but their core offering is not OSI-approved open source. They have a custom license which grants usage rights for personal and commercial purposes alike, but the source code is proprietary and they could change the terms anytime. I have no respect for such companies.
WordPress.com – the new home for my personal website
In contrast to Obsidian, WordPress is open source and free in both senses of the word. It is licensed under the copyleft GPLv2 (or later) license which ensures the software itself and its derivatives stay open source. The source code is publicly available and fully auditable with a vibrant community dedicated to the continued development and support of WordPress.
By purchasing a yearly Personal plan subscription from WordPress.com straight from Automattic, the creators of WordPress, I can rest easy knowing that:
- The underlying software remains free and open source and I pay only for the managed hosting and value-added services provided by the platform
- I can focus on authoring and publishing my content while the platform handles security, reliability, scalability and upgrades seamlessly. All I have to do to secure my website and data is by securing my WordPress.com account and ensure only officially supported, vetted plugins are installed
- The money I pay goes back to support the core WordPress development team in making the software even better!
Migrating to WordPress.com was simple. With the WYSIWYG editor built into WordPress, I migrated all 37 existing articles within a single night just by copy-pasting the entire article from my original website to the editor and clicking “Publish”. Once all the content was migrated to this site, I promoted it from staging to production by updating a few DNS records and the traffic immediately shifted to the website you are now visiting 😉
So that’s the story of how I migrated to WordPress.com. I hope you enjoyed reading this article as much as I did authoring it and stay tuned for updates! 😉
Leave a Reply