mortimer.codes

I wanted to put together a website to discuss tech and some of the projects I have completed as a developer.

Is there a better starting point than to discuss how I built this?

Most of the projects I have been involved with have no SEO needs and tend to be Single Page Applications (SPAs), written in React, and supported by an API. To gain some experience of NextJS and refamiliarise myself SEO concerns, I built this website.

Currently we are part of a NextJS application, containerised in Docker, using TailwindCSS for styling.

It would have been much cheaper for me to build this as a regular SPA hosted in object storage. But as a second best option I have hosted it on the tiniest, most efficient EC2 instance on AWS - the t4g.nano. Caching and TLS termination are provided by CloudFront, to prevent fiddling around with NGINX and CertBot in the EC2 shell.

The t4g.nano is the cheapest EC2 VM, but requires a developer to build their Docker images on linux/Arm64 as the t4g family use Amazon's proprietary Graviton processors. This means it takes a little bit more time than usual to run a multi-architecture build, as I write code on an AMD machine.

If this were a professional project then I might implement auto-scaling and load balancing.

I spent all my budget on the domain name, so the ALB will need to wait. :)

Diagram of This Website's Architecture