I've had this blog in one form or another since 2014. Originally I built it using the LAMP stack, with a sprinkling of jQuery. As a learning exercise I then rebuilt the site from scratch using React, Node.js and MongoDB.

Using a simple Express API and Mongoose I served up posts stored in a single MongoDB collection. The whole stack was deployed to AWS with an EC2 instance running the Node server, an S3 bucket storing the React front end and route 53 taking care of the routing.

Screenshot of my site's old design
The previous design of rrayns.co.uk built using React

This worked well and I learnt a lot doing it but with no CMS I began to grow weary of having to write my posts directly into the Mongo collection, it wasn't really practical. To help I added some code to the NodeJS instance that watched a directory on the server and when a new text file was placed inside, it would parse it and add the content to the database.

When my free AWS trial came to an end I switched off my EC2 instance and just stored my posts in a JSON file within the S3 bucket.

I then got the desire to build a simple plain HTML/CSS blog. I was tempted at first by the static site generators that are growing in popularity such as Jekyll but something about writing pure HTML felt liberating.

Writing in pure HTML is not without it's downsides, there is a lot of duplication going on, I just copy and paste boilerplate structure between posts. However, going forward, if I do change aspects of the site layout I don't feel I have to go back and update the format of my previous posts, they can stay how they are. On the plus it is nice not having to keep libraries updated, the site is fast and responsive and to update/add a post I just drag and drop it into the S3 bucket.