Hello! I studied Computer Science, and now I live in Bath. I write code, design games, and occasionally tweet.
Hello! I studied Computer Science, and now I live in Bath. I write code, design games, and occasionally tweet.


Here's a list of my more impressive projects, but you can visit my Github profile to see a full listing.

Blog Series

Interrailing into Europe

Me and a few of my friends just finished university and so we have decided to go interrailing around Europe. On this blog I am chronically our journey. We are planning to depart from London and take the Eurostar to Brussels. There we will catch trains to Amsterdam, Hamburg, Plön, Copenhagen, and Stockholm. Finally we will be flying back to London on Ryanair. Our planned route is roughly as follows:

Flute in the BathTub Orchestra

Listen to our Recordings

We are the newest community orchestra in Bath. Founded in October 2018, the BathTub Orchestra is a mixed ability orchestra that plays all kinds of music from pop songs, jazz, blues, film soundtracks and classical favourites.

Web Toys

Blockchain Tracer

This project demonstrates the ability to visualize, and trace transactions through the Bitcoin network, evaluating three different methods. Namely poison, haircut and First-In-First-Out (FIFO).

To achieve this, a web application was created to first build up a network graph representing Bitcoin addresses as nodes, and transactions as directional edges. This allows the user to easily grasp the history of any given Bitcoin address, and then trace any transaction either up or down the graph.

Classic Games

Play classic games right in your browser using the power of HTML5.

Dice Roller

Roll any dice in your browser. Supports any sided, high, low, and fudge dice.

Earth Today

Photos of the earth taken today by NASA DSCOVR EPIC. Earth Polychromatic Imaging Camera (EPIC) captures images of a sunlit earth to monitor the atmosphere and the environment.


Setting out to improve audience participation in lectures, this project aimed to help engage audiences by improving presentation flow, to maximise learning potential. Researched learning theory and different technologies to make the most of this opportunity. Decided to create a modern, responsive web-app designed for instantly sharing content, with interactive elements, to the entire audience.


Generating folk music using Markov Chains

Music Box

Play music, on the box, using the Web Audio API!

OneM2M Federation

For the mass deployment of the Internet of Things to be a success, a global standard for machine to machine communication needs to become established. This report explores the oneM2M standard for Machine to Machine communication, researching its capabilities, how to make use of it, and ultimately builds systems upon it. Using them, data streaming, live video, and federation are put to the test.

Pixel Fireworks

Light up the sky with a fireworks display by dragging your finger or cursor across the screen.


A simple platformer created during the Global Game Jam.


A quick and simple game of Tetris created in an hour at the Southampton Code Dojo.

Web Tools

ASCII, Base64, Count, Crontab, Diff, Image, JSON, Recoder, Regex, Time, XML.

Native Games

Bring the Light

Lighting, lasers, and shader experiments. Maybe even a game!

Dial Tone

A Paper’s-Please style telephony simulation created at the Southampton Game Jam.

Last the Night

After crashing on a procedurally generated alien planet, you have but one task, last the night.

Let It Burn

Using your flamethrower, wrack up points and burn the forest down.

Littlest Billy-Goat

A narrative game featuring (bad) full voice acting.

Planet Deathmatch

A Quake inspired, little planet deathmatch arena.

(We’ve) Lost the Game

Deserted. Created in 48 hours as part of the Global Game Jam.


Game of Life

Conway’s classic Game of Life created with SFML and C++.

Little Man Computer

A Little Man Computer simulator created in Visual Studio many years ago.

NES Emulator

My (incomplete) attempt at creating a NES Emulator from scratch.

Programming Languages


A C-like imperative language created for Programming Languages and Concepts.

Crude lisp

A very quick, simple lisp? interpreter written in pure C++.


Gopher Client

A rudimentary, Java Gopher client.

United Kingdom Symbolic Keyboard

Custom keyboard layout with extra symbols. Hold down AltGr to make the most of your keyboard.

The Unofficial Stack Exchange Puzzle Book

Converting puzzling.SE into a book using LaTeX. The book contains the top 100 questions and answers ever submitted to the site, formatted nicely to fit into a small A5 book(let).

TF2 config

My TF2 config, minus custom content.