My side projects include programming languages, web frameworks, game solvers, developer tools, databases, and games. My public GitHub repositories have been starred 1590 times, and my last open source git push
was 18 seconds ago.
Open Source
A chess engine with alpha-beta pruning, piece-square tables, and move ordering.
Read my write-up.
A small programming language with an interpreter, a profiler, and a WebAssembly compiler.
Read my write-up.
A Lisp to JavaScript compiler written in Rust. Supports a variant of Little Lisp.
Read my write-up.
A log-structured hash table database. Speedy K/V store for datasets larger than memory.
Read my write-up.
A fast grep clone written with Deno.
A full-text WebAssembly search engine for static websites. Build, index, and fly.
Read my write-up.
Generate or convert random bytes into passphrases. A Rust port of niceware.
Read my write-up.
How well do you know your top-level domains (TLDs)?
A general-purpose interpreted scripting language with an event loop.
A simple key/value store (get/set) and queue (send/receive/delete).
Next.js blog and portfolio website.
Use Netlify serverless functions to add commenting to a static website.
Read my write-up.
A toy analytics system for the web with a focus on user privacy.
Read my write-up.
Build and consume Markov chain models to generate random realistic text.
Read my write-up.
A live stream of every emoji posted to Reddit.com.
Calculating the path between two countries with the least border crossings.
Read my write-up.
A website that graphs textual statistics from a DEV user's articles.
Read my write-up.
Game Jams
I miss doing game jams, it's been a while.
Art-driven game of discovery. One of PC GAMER’s free games of the week.
A Goofy shooter. 2nd place in #OpenJam17. Featured at AllThingsOpen.
Fast-paced arena beat-em-up. 3rd place in #CFNgamejam.
Steal oxygen at your peril. 7th place in GDN’s Gooseberry Jam.
Vaporwave-inspired moody journey. Entry for 72hour #dreamhackjam.
A short, stylish and slightly spooky 2.5D puzzle adventure game.