Not everything I do is art for art’s sake. Sometimes there’s a genuine need for a tool that either doesn’t exist yet or one that exists doesn’t quite do what you need it to.

When I started rebuilding this site I realised that there was a whole suite of libraries and tools that I didn’t have in my arsenal. That’s when I saw an opportunity not only to learn some new skills but also hopefully to solve some other people’s problems with a suite of useful and simple things for building interesting modern websites.

Flat Earth

logoA CMS (Content Management System) based on Markdown written in Python. I spend a lot of my time in the command line and sometimes it’s not practical for me to break my flow and write a post for a blog entry in the browser. It relies on githooks on the server to see when a repository is changed and then pulls and builds the changed files into a flat HTML site. Flat Earth was initially born from a conversation I had with a pro-privacy friend of mine. We both decided that the transparency and portability of Git repositories made them an ideal candidate for layering a site distribution platform on. Each article is appended with the file version history and changelog with links so that any revisions are laid bare to the viewer.

This is a currently a work in progress but I plan to replace the site you’re reading at the moment with Flat Earth.

Flat Earth on Github – Note that this is on my work-in-progess Github account until I feel it’s mature enough to release properly.


logoI found myself in need of a PJAX (Push History Asynchronous Javascript and XML) library for a paid project I was working on and the only one that was available was built for the jQuery framework and hadn’t been updated for a long time. I prefer writing in vanilla JS and wanted to learn more about AJAX (Asynchronous Javascript and XML) as well so I decided to build my own.

With PJazz it’s possible to fake the experience of SPA (Single Page Applications) on your flat HTML site and don’t want or need to redevelop in BackBone or Angular as these are often too complex and overkill for smaller sites. Plus you have the added benefit of having a working site underneath the Javascript layer, which as a developer who prefers the upwards moving progressive enhancement as opposed to the downwards facing elegant degradation approach made the creation of this library a must. It’s fully working as is but will be gradually improved as work on Flat Earth calms down a little and I discover use cases for it.

Pjazz on Github


Momentum is a super tiny simple add-on to PJazz that ties into the server response telling the browser how long something is going to take to download. This User Experience (UX) trick is an animated visual cue for the user that something is happening after a link is clicked.

Momentum on Github


I reimplemented the sadly deprecated <blink> tag for the modern era because I was feeling nostalgic. More people should be using it and you can do your part in making me feel happy by downloading it from here.


A simple JS and CSS3 library to point things in a webpage out. You can pass it words or classes and it will update on-the-fly.

Obviate on Github


This is what I start all of my web projects with. It’s a Grunt enabled project that allows for rapid development and deployment. As my needs become more nuanced it changes over time but is easily updatable and can be simply reinserted back into existing projects that utilise it.

My boilerplate on Github – This library might be behind the work-in-progress one here.

I release all my tools under the MIT license so feel free to download and use it as you see fit within the terms of said license.