Shall we take a look at some projects I've done?

State Management Examples

As a lover of state management in React (I know, what a weird thing to admit) I often get asked about my thoughts as to the best state management solutions out there.

Anyone who's delved into the mysteries and intricacies of managing state in React knows that that's a very naive question, which misses the big point that there are pros and cons to almost every approach, with some being suited to more complex codebases with multiple teams contributing, and others being far more manageable for single teams or solo developers.

So, I put together a lil website to showcase how to get started with a number of state management libraries. Take a look!

See those examples GitHub Repo

Presentation Timer

A simple presentation countdown timer with music streaming for use on streams/presentations - because every stream could use some suspense and music!

When doing presentations, it's nice to have a countdown to the start at the beginning, and it's even nicer to have some music playing in the background. However, combining these two things usually means a lot of messing around with audio inputs/outputs, or you just resort to playing the music out your speakers and detecting it with your microphone, or capturing your entire machine's audio.

Having the presentation countdown and the music playing in the same tab means most streaming tools can pick up the audio in a nice way.

Start that countdown GitHub Repo

Janky Werewolf

A browser-based version of the Ultimate Werewolf card game

Created during the great-lockdown of '20, my friends and I adore the Ultimate Werewolf game, and would play it every evening whenever we met up. However, as meetings turned virtual, there was no way to do this! So what did we do as a bunch of CompSci nerds? Create our own web version of course!

The front-end is made in React, utilising Websockets to talk to lambdas that handle the running of the game and tracking of game state (aka who's dead Jim). The back-end is written by Michael Goddard, the big ol' Rust nerd.

GitHub Repo (FE) GitHub Repo (BE)

This website! It's cool, isn't it? Why use a static site generator when you can just... y'know... write the HTML yourself?

As with all personal sites, I've been going back and forth on how to implement it for literally years. Should I go all swanky and amazing and use the latest tech? Should I show off all my awesome React skills?

In the end, I decided to go as simple-as-possible. This site shouldn't be all-singing-and-dancing, because it's not what's needed. What's needed is something super simple, clean, and most importantly quick. So, it's pure HTML and CSS, with a really simple template copy/paste script so I don't have to write the nav/header/footer out everytime. Neat!

Take me there GitHub Repo