Making This Website

05/12/2023

This website uses a number of different technologies, most of which were my first time using!

The frontend is built using Nuxt.js 3. Nuxt allows static site generation with prerendering for snappy page loading. It uses Vue.js 3 under the hood. I have used Vue.js 2 in previous work and this was my first time using the 3rd version. It was a pretty painless experience and would be happy to use it again in the future.

The styling is done using Tailwindcss. It is a framework I've wanted to use for a while and has some pretty cool features. I've also used the light/dark mode styling to allow different colour schemes per page and even per section. However the approach tailwind takes does tend to make the HTML look a bit messy with classes thrown all about the place. There are ways to get around this and I probably just need to get more familiar with it.

The content is authored and delivered by Storyblok. This allows me to create new pages or edit old ones using a web interface instead of authoring it all in code! As the pages are prerendered I still need to build and deploy a new version when updating content.

I have also used typescript as I am normally a big fan of strongly typed languages (e.g. c#). However the way typescript is implemented often feels pretty hacky and almost results in more headache than it saves 😓 Again I probably just need to get more familiar with these quirks.

The website is also hosted on github pages You can't beat a free hosting solution! Domain and DNS management is done by Squarespace.

Overall it was a pretty fun project and has taught me some of the pros and cons of various technologies I've been meaning to try out for a while.