Open Source

Here's some of the software I've released. Some of the projects are fun experiments and others are used by people everyday! I'm accepting pull requests and issues on all of them — and I'm happy to onboard you.

Projects

andoma

A chess engine with alpha-beta pruning, piece-square tables, and move ordering.

Read my write-up.

golfcart

A minimal programming language inspired by Ink, JavaScript, and Python.

Read my write-up.

crane-search

A full-text WebAssembly search engine for static websites. Build, index, and fly.

Read my write-up.

niceware

Generate or convert random bytes into passphrases. A Rust port of niceware.

Read my write-up.

doom-checkboxes

DOOM rendered via checkboxes in a web browser.

Read my write-up.

pi

Monorepo for my Raspberry Pi dashboard and GPS satellite listener.

Read my write-up.

inkbyexample

A hands-on introduction to Ink using annotated example programs.

Read my write-up.

hoot-language

A general-purpose interpreted scripting language with an event loop.

in-memory-cache-over-http

An in-memory LRU cache server.

Read my write-up.

healeycodes.com

Next.js blog and portfolio website.

among-us-friends

An ELO and player tracking system for the game Among Us.

Read my write-up.

embroidery-vision

Identifying which DMC threads are used in embroidery hoop images.

Read my write-up.

bandwidth-checker

Graph your internet bandwidth over time!

Read my write-up.

boids

The boids flocking simulation using Ebiten!

Read my write-up.

twitter-ticker-tape

A Raspberry Pi project to read tweets via receipt printer.

Read my write-up.

gatsby-serverless-comments

Use Netlify serverless functions to add commenting to a static website.

Read my write-up.

privacy-focused-analytics

A toy analytics system for the web with a focus on user privacy.

Read my write-up.

markov-chain-generator

Build and consume Markov chain models to generate random realistic text.

Read my write-up.

emojistreamer

A live stream of every emoji posted to Reddit.com.

country-borders

Calculating the path between two countries with the least border crossings.

Read my write-up.

paircode

Real-time pair programming in a HTML/CSS/JS playground.

broken-link-crawler

A bot that crawls your website looking for dead stuff.

Read my write-up.

dev-article-analysis

A website that graphs textual statistics from a DEV user's articles.

Read my write-up.

websocket-benchmarker

Benchmark a WebSocket server's message throughput.

real-rainy-mood

If it's not raining, you're not allowed in.

conways-game-of-life

A classic algorithm implemented visually with Ebiten.

Read my write-up.

Games

Planet Dysphoria

Art-driven game of discovery. One of PC GAMER’s free games of the week.

Retro Daddy

A Goofy shooter. 2nd place in #OpenJam17. Featured at AllThingsOpen.

Wildwood

Fast-paced arena beat-em-up. 3rd place in #CFNgamejam.

Oxygen Thief

Steal oxygen at your peril. 7th place in GDN’s Gooseberry Jam.

Dissociative Dad

Vaporwave-inspired moody journey. Entry for 72hour #dreamhackjam.

Undersea

A short, stylish and slightly spooky 2.5D puzzle adventure game.