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.

Indonesia Merger Manager

This is a webapp designed to help manager merges in the board game Indonesia. It can take the place of a mergers cost lookup table, printed or electronic. The goal is to handle the details of merger calculations, leaving the players free to focus on the game's strategy.


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.