Calculate a randomized seating chart for benches of a certain size, avoiding putting lefties to the right of righties, and preventing select people from sitting next to each other.

Frontend written in Bootstrap and backend written in Java, accelerated via JNI with C++.

Try SittyChart »


Facilitates playing The Game of THINGS...® by allowing players to easily track the game's progress and submit their answers with perfect secrecy. Note: You must own the physical retail game to play, as this app does not provide any game content.

Frontend written in jQuery Mobile and backend written in Node.js against MySQL.

Try Keithings »

Flashcard Decks

A clean, simple Android app for creating and viewing flashcards. Originally written at my wife's request as an aid to homeschooling our son.

Try Flashcard Decks »


A simple, lightweight port scanner written in C that uses poll() for single-threaded concurrency.

Get kcportscan »