All Projects

Below is a list of several projects I have made public over the years.

I do not write posts for every project I work on. Often there's not much to say about them. Some are 'work-in-progress'. It's also not a complete list of everything I've done. It's just the stuff that I think is good enough to share. 😄


Printing Martin Behaim's Globe

A close up of a globe made of paper.

Kayak Trails

Plotter art of GPS trails.

A close-up view of a pen drawing white ink on black paper.

Reverse Engineering the LEGO World Map

A mosaic made of LEGO 1-by-1 tiles, representing a map of Denmark.

'The Good Place' Map

A close-up view of an illustrated map.


Daily exercise in creating abstract art between 2008 and 2009.

A collage of several square art-pieces.



A multiplayer collaborative canvas – Projected on a globe!

An abstract illustration of triangles forming a random but colourful mosaic.

Minecraft Map Generator

Project from 2011 to convert real elevation/terrain data into Minecraft maps.

Mapping Software


Web-app to quickly visualize map projections.

An abstract illustration showing a world map that is warped.

Photogrammetry on Commercial Flights

An abstract illustration showing a plane flying over a landmark.


Web-app to parse coordinate data using regular-expressions.

The logo for Regex-Coordinates.


A command line tool to reproject a CSV from one CRS to another.


Tool for creating vector maps in the style of engraved maps.

A close-up view of a map showing several buildings and roads.

Graphics & Typography Software


Run 'Autotrace', the bitmap-to-vector-graphics converter, in Docker.


An SVGO plugin that converts presentation attributes to style properties.

Creating fonts from SVGs – with automation! 🤖


Shell script to convert strokes in an SVG to paths using Inkscape's CLI.

An abstract illustration of a looped line, with another line inside of it.

Pangocffi & Pangocairocffi

Python libraries for using Pango and Cairo with CFFI bindings.

Useful for rendering internationalised text in the Cairo rendering engine.

An abstract illustration with three words; Python, Παν語, القاهرة. The glyphs of each letter are outlined.

Software Development Tools


Shell script to count the number of TODO, FIXME, and BUG comments in a git repository.


Script to generate parameterized JUnit4 tests for Test Runners that do not support parameterized tests.

History & Stories

Mapping the Scottish Colony 'New Caledonia'

Edinburgh's Unbuilt Canals

How China distorts their maps

The Royal Trees in The Meadows

NCN Millennium Mileposts



Shell script that creates an animated GIF of a file's revisions hosted by Wikimedia Commons.


Web-app to encode and decode spoilers in chat threads.

An illustration of a 'warning' symbol on top of a speech bubble.


Web-app for easily comparing two or more images.

Advent of Code

My solutions for Advent­Of­ throughout the years.


Web-app for comparing a tile layer with a background satellite layer.

NCN Milepost Openstreetmap Checker

A website to check National Cycle Network mileposts with OpenStreetMap data.


An electron app that submits worklogs to in batches.

A screenshot of the Allegro application.


A Node.js wrapper for the REST API.