Projects

I write software for me and for you.

Open Source

andoma

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

Read my write-up.

adventlang

A programming language (+ code playground) for Advent of Code.

Read my write-up.

golfcart

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

Read my write-up.

tools

Terminal tools, written from scratch.

Read my write-up.

crane-search

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

Read my write-up.

sokoban

Sokoban game and automated puzzle solver.

Read my write-up.

niceware

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

Read my write-up.

if-sad-send-cat

A program that sends cats to my phone when I'm sad at the computer.

Read my write-up.

doom-checkboxes

DOOM rendered via checkboxes in a web browser.

Read my write-up.

tld-quiz

How well do you know your top-level domains (TLDs)?

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.

Game Jams

I miss doing game jams, it's been a while.

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.