Goodbye Wordpress, Hello static HTML with Jekyll and AWS

(Updated ) / Jack Lot


A fresh start (goodbye Wordpress)

I started my blog to get better at communicating my thoughts and ideas, plus having a blog as a good excuse to fill the creative void I felt working as a software engineer. Unfortunately, after the initial push where I designed and built my custom theme, the non-trival nature of the update process meant I never touched it again. Writing posts was super simple through the Wordpress admin panel, but the UI design stuff drives me as much as the writing. I couldn’t iterate fast because of Wordpress’s heavy PHP codebase and the overhead of deploying changes.

I was also self-hosting my Wordpress blog on a Digital Ocean droplet. If I were to do a hosted blog again, there is no way I’d self host. At first I was excited to put my sys admin skills to the test; but the initial coders high waned and the annoyance of upkeep just prevented me from making changes.

Why go the fully static HTML route?

One of the driving factors for moving away from Wordpress was switching to a simple, straight forward codebase that allowed for fast iteration. I didn’t want to have to deal with Wordpress’s PHP templating anymore. I have my fair share of complex code packages to deal with at work, I don’t need to manage another in my off time.

The second driving factor was speed. Although I implemented heavy caching on the old blog, having a single host serve all my traffic certainly wouldn’t have scaled without some serious time investment to re-vamp my hosting strategy. Hosting a static site on S3 was something I had done in the past and distribution through a global CDN (like AWS Cloudfront) meant I could get even better latency since all my assets were static.

A fully static HTML website using Jekyll

One of things I wasn’t willing to sacrifice when moving to a static site was having some sort of templating and complied CSS (SASS). Fortunately, there are frameworks out there that allow you to write hybrid HTML with SASS that are then compiled as static HTML/CSS. I choose Jekyll because I’m familiar with Ruby, plus Jekyll has been around for a while and was pretty stable.


Edit: In 2026, this blog was migrated from Jekyll to Astro


TAGS: projects, webdev