my free time

I’m always working on a few personal projects, but here are a few of my favorites:


Answer a few questions about which colors you think look good together, and train your own little random-forest decision tree classifier to give you suggestions on new color pairings you’ll probably like! Check out the source here.

Traffic Lights

Tries to algorithmically find an answer to the question, “What would be the ideal timings for this group of traffic signals?”. Uses a Markov chain (the metropolis filter) to traverse the state space of light timings, always edging closer to the optimal configuration to let the most people get to work on time. Continuously under improvement!


Attempts to do for notes what ShoutKey does for links – makes it easy to create a collaborative note sheet and share it with people near you via word-of-mouth. Uses a peer-to-peer OT (operational transformation) library, in conjunction with a CodeMirror-based text editor called Firepad (with help from Firebase, both Google). Check out the source here.

Matrix Monte-Carlo

(Research Project) Implementation of an algorithm based on an idea from a graduate student’s thesis, which uses a Monte-Carlo annealing method to determine the most “important” rows and columns in a matrix. Note, the program only uses the “stock input” field to fetch data for testing – invest at your own peril!