A Haunted House, my first 200 Word RPG Challenge entry (entry page).
Country or Christian, Can you tell the difference? A silly data-mining project.
Pick A Spy, a tool for people who lie to their friends for fun.
JSON Against Humanity, finally, CAH as plain text and JSON. Now open-source.
Collision Detection in p5.js, a fork of Jeff Thompson's magnificent tutorial.
Role-Playing Games, an analysis.
Forget, a short story
Best of 2017
Best of 2016
Games for Real Life
Best of 2015
VuFind, search and discovery systems for libraries; my 9 to 5.
etextbooksearch, developed for Villanova's AMP.
autocomplete.js, an autocomplete interface for web input.
chex, pretty toggle labels.
word assassin, powered by Firebase and paranoia.
zips, an npm package for looking up location/zip code pairs.
donate-to-aclu, an npm package to donate to the ACLU.
Jedi Force Battle, from the First Annual Timberlane Middle School Game Jam.
Top Goose, GGJ 2018 entry. A drag race using 7 computers per car. Source. Demo.
Greed, my js1k 2017 entry.
Tie Tac Toc, a classic with a touch of randomness.
Binary Black Jack, wordless rules for @BinaryCardGame.
Resize, my Ludum Dare 31 game.
[ OHKE ], a silly party game with sounds.
Tiny Epic Galaxies, my own print-n-play based on the official prototype.