github instagram

Here is some stuff I've made over the years. Most of it is on GitHub.

2026
Lithic3d
Project Astrum (formerly Project Nova)
Lithic3D is a cross-platform game engine developed in C++ and Vulkan supporting Windows, Linux, Mac, iPhone, and Android.
2025
FreeHoldApps.com
A curated catalog of applications that adhere to "freehold" principles , and also home to a collection of apps I've developed (or will be developing) myself. The back-end is a node/express API written in TypeScript backed by a PostgreSQL database, and the front-end is Preact and TypeScript. The back-end is currently hosted in EC2 and the front-end in S3.
2024
Gems'n'Rocks ASM
Gems'n'Rocks ASM
A Boulder Dash clone written entirely in x86_64 assembly for linux. It doesn't use any libraries (not even the C standard library), just the linux system call interface. I write about it .
2024
Richard
Richard
Richard began as a personal effort to learn more about machine learning. It's a convolutional neural network written from scratch in C++ without any math or machine learning libraries. It contains a single-threaded CPU implementation and a GPU implementation that uses Vulkan compute shaders. It's cross-platform, supporting Windows, Linux, and Mac.
2019
Pinata
Pinata
The idea behind Pinata was to allow game developers to award players a share of their revenue. In-game achievements would come with a monetary reward in Fetti (Pinata's currency), which could be cashed out as real money to a PayPal account. I gave up on it due to issues relating to gambling regulations. Pinata was implemented in TypeScript as an Angular front-end and GraphQL back-end API backed by a PostgreSQL database and deployed to AWS.
2019
Terrestria
Terrestria
A game I made to demonstrate a Pinata integration. Implemented in TypeScript on both back and front ends. It was an online multiplayer Boulderdash clone with platforming elements and real-time 2D physics provided by Box2D. All game state was stored server-side to make cheating impossible. A significant challenge was hiding latency.
2019
Mandelbrot
Mandelbrot
Generates the Mandelbrot fractal inside a fragment shader. You can write your own colour schemes in GLSL, save/load locations in the fractal, and export images. This project serves as a fairly minimal example of how to write cross-platform GUI apps in C++ with a modern CMake build system (using workflow presets), and produce the platform specific deployables (installers, app bundles, deb archives, etc.).
2019
Old personal website
Old personal website
My old personal website. The back-end was a GraphQL API built with Prisma and Apollo Server. There was an admin site, which was basically a simple CMS. The front-ends were built with Angular. It was deployed to AWS using a combination of ECS and S3.
2018
Pro Office Calculator
Pro Office Calculator
A game written in C++ for Windows, Linux, and Mac. At 26,000 lines of code, it's my largest project to date. It contains a Doom-style 3D engine for which I devised my own rendering/collision algorithms. I used InkScape as my map editor as SVG images are just XML files, which are easy to parse. Pro Office Calculator is available on Steam, where it has a rating of Very Positive from over 350 reviews. It also has an official website at proofficecalculator.com.
2016
CLJS Mines
CLJS Mines
The classic game of Minesweeper in the browser, written in ClojureScript, a functional language. Play it here.
2015
Font Builder
Font Builder
Created for a client when I was freelancing, Font Builder is a desktop and server-side app for adding license strings to font files and for creating demo fonts with watermarks. It was developed in C++ and Python for Mac and Linux. Applying a watermark to a glyph involved performing a polygon union between two very complex shapes (non-convex, with holes and curved edges), which I did in C++ with the aid of the CGAL library. To demonstrate a web integration, I provided a docker image containing a small PHP app.
2013
Minefield
Minefield
A unique take on the classic Minesweeper with nice graphics and music. Minefield occupied the top position under Puzzles on the Ubuntu Software Centre until the software centre was discontinued. Developed for Linux and Windows.
2010
Gems'n'Rocks
Minefield
A Boulder Dash clone inspired by Rocks'n'Gems on the Playstation. Gems'n'Rocks was built with C++ and OpenGL for Linux and Windows and distributed via the Intel AppUp Center where it was downloaded over 2000 times, receiving very positive reviews.