I like to build things. These are a few of the things I’ve made:


Collapses DOM elements to pixels and then to 2d geometry drawn on a WebGL canvas in an orthographic projection with three.js. This lets you do fun stuff like apply a simple physics engine to the resulting chunks.

Docker Exec

Execute code in many languages with Docker in a single step! Docker Exec is a collection of Docker images and Go frontend capable of executing code in many different programming languages without requiring a single compiler or script interpreter on your machine.

Where You Should Be

A recommendation service for finding a place to live. It’s a Scala HTTP API constructed using Spray and Akka that talks to a Postgres database extended with Postgis for GIS querying. The front end is driven by Angular and displays data from the backend with the Google Maps javascript API.

Project Euler

I have an ongoing personal quest to work through all of the Project Euler problems to improve my mathematical thinking when programming. In addition to consolidating maths ability with languages you are already familiar with, Project Euler is a great vehicle for learning new languages so I’ve written a series of Dockerfiles for executing single source files in many languages and a script for running Project Euler solutions written in them.

GLFW Skeleton

A skeleton C++11 OpenGL 3.2 app that uses the GLFW, GLEW and GLM libraries and builds with CMake. Bandit is used for unit testing.

Lana Tetris

Blocks falling from the sky in 2 dimensions. Expanding on what I’d done with Snake, this is an implementation of Tetris to continue learning C++ and OpenGL. Same technologies but slightly more complicated.

Lana Snake

An implementation of the classic game Snake. I wrote this to start learning C++ and OpenGL. It’s cross platform via GLFW and is my first go at game making.