6th Nov 2020

Hello World!

I've rebuilt my personal site - again!

When I first built my personal site using Kubernetes and a custom serving service, it worked really well - provided you were near a region where I had a server and the Kubernetes cluster hadn't fallen over yet (which it frequently did). This was a great exercise in building a globally distributed system but it didn't work too well, it was a pain to manage and completely overkill.

I then decided to take a completely different approach and build my site using React and host it on Netlify with CloudFlare. This worked a lot better since it still gave me the flexibility and performance I wanted without the overhead of managing a Kubernetes cluster alongside it - and it just made a lot more sense.

We're now at the third iteration of my personal site - in which I've rebuilt it using Gatsby. Gatsby is basically React, but it comes with a ton of plugins that just make the whole process easier.

To put it into comparison, when originally building my site in React I had to spend quite a lot of time figuring out how to build/integrate:

  • Routing
  • Google Analytics
  • Sitemaps
  • SEO/Metadata
  • Image optimisation/lazy loading
  • Resource/site optimisation (CSS, JS)

This took a significant bulk of time when it came to building my original React site, so I was pleasantly surprised to find out that all of the above functionality comes either standard out of the box with Gatsby, or is available via an easy to install & configure plugin. The Gatsby plugin ecosystems is incredibly rich, and having known compatibility is a huge bonus too.

What was really astounding though was that I was able to completely rebuild my personal site and make it fully PWA-compliant in around 3 to 4 hours, something which would have surely taken over a week with pure React.