GeoJS is a geolocation lookup API and currently my main project. Serving over 130 million requests a day it was my first experience writing a public service that had to scale. Built on top of OpenResty it proudly boasts sub-second response times no matter where you are on the globe.

Read more on the blog or the GeoJS website.

HTTP Status Codes

This is a small site that explains what the different status codes end users get presented with. Built with Hugo and Tailwind, its a work in progress.

Check it out at

Old Projects

Casper Lite

Casper Lite is a fork of the default theme for Ghost.

Its features include:

  • Native fonts for faster rendering
  • Replace custom fonts with Font Awesome ones
  • More social (author) and sharing links for posts

Check it out on GitHub.

Reboot Notifier

Reboot Notifier is a small bash script that sends an email notification to the root user on Debian based systems when package updates require a reboot.

Check it out on GitHub.

Byte by Byte

Byte by Byte is a weekly newsletter covering everything in tech thats happened in the last 7 days. Community moderated on GitHub, everything is open source and free to read. Currently on pause.

Find out more on the Byte by Byte website.

Ansible Roles


My CSF Ansible role handles the full installation and deployment of a CSF firewall on several different linux distros!

Check it out on GitHub.

Nagios NRPE Server

This Nagios NRPE role handles the installation (assuming there is a package!) and configuration of NRPE on most core linux distributions.

It still needs a tad of work on configuring checks (at the moment its just a flat file instead of yaml 😔) but it’s production ready!

Check it out on GitHub.