My side projects include interpreters and compilers, web frameworks, game solvers, developer tools, databases, games, and more. My public GitHub repositories have been starred 1697 times, and my last open source git push
was 18 days ago.
Open Source
An optimizing compiler for a Lisp variant. Compiles and executes bytecode in a VM. Can also output JavaScript.
Read my write-up.
A small programming language with an interpreter, a profiler, and a WebAssembly compiler.
Read my write-up.
A chess engine with alpha-beta pruning, piece-square tables, and move ordering.
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)?
An LRU cache written in Oak.
A general-purpose interpreted scripting language with an event loop.
Making web requests from inside an isolate.
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.