Here are some of the side-projects I've built.

Quack Stanley

Quack Stanley is an Apples-to-Apples-style party game, inspired by Snake Oil (designed by Jeff Ochs). I built this as a project for learning the Elm programming language, but it ended up being an enjoyable implementation. Give it a spin and let me know how you find it.


This is an interactive player aid for the board game the board game Indonesia. The merger calculator can take the place of a mergers cost lookup table, leaving the players free to consider the strategy of the merge. A rules summary is included to help while playing the game.


Luna is a physics demonstration written in Elm programming language, originally written to visualise gravitational slingshot manoeuvres.


I created a wrist-assistant for Netrunner matches, my first attempt at a real Pebble app. I was kicked into action at the time by the imminent arrival of my new Pebble Time but now that's arrived the app's moved on a fair bit. If like me, you're a Pebble owner with a love of Netrunner, then you must take a look!

Pebble meeting mode

After an excellent suggestion from @Fleagret, I created a very simple Pebble watchface designed for meetings. It displays the time very clearly and buzzes every 5/15 (short/long) minutes to help you keep track of how long a meeting is taking. I find it especially useful when I'm conducting an interview and need to carefully track the time without obviously looking at a clock.

Game of Life

An implementation of Conway's Game of Life in a functional manner, using Scala.

Meter delta

Meter delta is a JavaScript library that enables dynamic time signature improvisation for musicians.

Other (old) projects


DjanJinja lets you use Jina2 templates in Django. There are other solutions for this problem available but I wasn't satisfied with them. Development on DjanJinja stalled so my fork of the project is the place to go if you want to use it, but be aware I last updated it for Django 1.3 so it is pretty out of date now.


I think the README says it best: This is a silly repository.

It's a Python wrapper around Git shell commands that I threw together for a little project that was going to use Git as a database.

MySQL unicode converter

By default MySQL uses latin encoding but Django assumes it is unicode. If you have an existing latin database (if you only realised after go-live, say (oops)), this script will convert the database to unicode for you.

Note it won't fix any already-corrupted data (I'm not magic), but it will set the database up properly so no more data will be damaged.

We've all been there.

Very old things


When I stopped writing PHP I dumped my MVC-framework-in-progress on Github. It's amazingly out of date now but I think there were some good ideas there and I spent a long time on it so have a look if you're interested.

Misc JavaScript

Take a look at my GitHub. I used to write quite a lot of MooTools / jQuery plugins and I got round to putting some of them up there.