Below is a selection of open source software projects I have authored. Additionally, all the games I've worked on are open source.
A flexible media player component library for React that requires no up-front configuration. Cassette powers the media playback on this site!
A React media player component inspired by the Media Player app that shipped with Windows 95. Also powered by Cassette!
A component for React that allows a user to toggle a GIF animation on and off.
A small polyfill implementation of React 16's Fragment component which is compatible with React 15.
A tool for extracting frames as still images from an animated GIF, in either Node.js or a web browser.
A ray-tracing 3D renderer implemented from scratch. Loads scene descriptions as text and shows render progress in real-time.
Programming languages: C++
A post-processor for making the web export for PICO-8 games display better on devices with small screens.
A command-line utility that converts the PICO-8 variety of extended Lua syntax to standard Lua syntax.
Programming languages: Lua
Utility functions for passing numerical data between a web-exported PICO-8 game and its surrounding browser context, by encoding the data as binary in PICO-8's GPIO interface.
A function that can bind an arbitrary browser UI element as a touch-friendly PICO-8 game control.
Tracks a pool of Steam user accounts and compiles data about games held in common between them. Built on top of the Steam Web API.
Asks the user for a few parameters, then outputs an improvised piece of blues music. This is the first application I built (I was 15 years old).
Programming languages: Java