Personal Portfolio

React - GraphQL - TailwindCSS

My new website to act as both a CV and showcase for projects. Featuring experience, education, projects and light/dark modes - it's built with Gatsby with speed and SEO in mind.

Personal Portfolio image

Built with

This won't come as a surprise to anyone who knows me well:

  • Gatsby (React)

  • TailwindCSS

  • Fontsource

I keep coming back to Gatsby for good reason - along with TailwindCSS and a solid content management system there's just nothing better. The developer experience is, in my opinion, unmatched. It's fast, too - Gatsby 4 and Tailwind's JIT Compiler have provided a significant performance increase compared to the equivalent tools a year ago.


This time round, I'm using Contentful - there's no particular reason and there's definitely some features it lacks. Where Contentful lacks, though, it makes up for itself in just how good the structured content editing is. One day I'll go back to self-hosted solutions one day, but I've not felt the need to quite yet.


The site is hosted with Vercel, and I imagine I'll keep using them for as long as they're service is quite as good as it is for individual developers. Netlify is also a great CMS, I just happen to already use Vercel for everything - I'm yet to be in a position where I have to decide between the two.


Wordle Solver image

Wordle Solver

A hilariously inefficient pseudo-brute-force solver for the viral web game Wordle - making use of NodeJS and Puppeteer to emulate a web browser and make educated guesses.

NodeJS - Puppeteer

Trampoline Difficulty App image

Trampoline Difficulty App

A web app that helps gymnasts and coaches calculate difficulty and “FIG Shorthand” for routines performed on Trampolines.

React - Express - MySQL

Classify image


Static site development using WordPress as a content backend - with several custom plugins to support various content structures. By taking advantage of Gatsby, the site feels extremely fast to use, even when navigating dynamic content.

React - Gatsby - WordPress

Harler image


WordPress theme development including custom plugins for structured data and robust SEO. Every element was built with future customisation in mind, abstracting away the need for technical knowledge.

PHP - WordPress - jQuery