Random Album Artwork Generator

NodeJS, Pug

In online graphic design and photo-editing forums, creating album art using a set of randomly seeded values is a popular game.

This program automates the process of obtaining random values.

The project was developed in under 8 hours at a MLH LocalHackDay, hosted by HackSheffield in December 2017.

Code Defenders

Java, Tomcat

I contributed to the Code Defenders project, by implementing a single-player mode, which allows for individuals to practice unit testing in a non-critical environment, with instantaneous feedback.

This involved integrating toolsets into a Tomcat web application. EvoSuite was used for automatic test suite generation, and Major for mutation testing.

My work was funded by The University of Sheffield's SURE Scheme, and supervised by Prof. Gordon Fraser and Dr. José Miguel Rojas.

(Note: Due to the high computational requirements of test suite generation, the single-player mode is currently disabled on the public-deployed version of Code Defenders.)


RFID Register System

Python, Linux

SLUGScan is a register system for fire-safety at society events.

Society members are given RFID cards, which are scanned by the system, updating a SQLite database which records their presence at events.

The system runs on a Raspberry Pi 3, and is housed in a 3D printed case, adapted from an open design.


Python, Linux

The PiROMANCER synthesiser.

My undergraduate dissertation project, PiROMANCER, was a psuedo-modular synthesiser running on a Raspberry Pi 3.

The system is Linux based, with synthesis performed using Pyo, a Python audio library.

The Raspberry Pi's GPIO pins are used as input to determine signal routes, alongside "analog" input with the use of a DAC.

I designed and built the system, using the university's manufacturing facilities (such as laser cutting equipment).

For those interested in running Jack on a Raspberry Pi, the GitHub repository's README (alongside the full dissertation) provides some insight on some fixes for issues which may be encountered.

The repository also includes the system's code and design files, licensed under GPLv3.

(This dissertation project was supervised by Prof. Guy Brown at The University of Sheffield).



Valve Hammer Editor

A screenshot of ttt_northsea.

An oilrig-themed map for TTT, a hidden identity gamemode for garrysmod.

With a broad variety of area in a relatively small environment, players are provided with many opportunties for frantic emergent gameplay, which the gamemode thrives on.

The map is featured in a video with over 380K views by a popular YouTube channel, and has around 7000 subscribers on the Steam Workshop, with several positive comments.


Haxe, Flash

I have released several games, mostly developed in Flash and Haxe.

The full collection is currently available at