CommitChange is a fundraising platform for nonprofits. I helped start it in the summer of 2013, when we packed everything we owned into a single car and drove to the Bay Area to join a startup incubator, beginning the long and strange journey of building a tech startup in “silicon valley”. I cut my teeth on programming and Javascript while working on CommitChange.

flimflam - a functional, modular, reactive, tested web components

Flimflam is a core development interest for me, and I hope to soon have a very robust and complete collection of UI components in this system: Link

dontdie - runway calculator

Get a general idea about the feasibility of a startup that collects monthly recurring revenue by entering some of your basic metrics and getting a three-year projection. Made using the Functional Frontend Architecture I use, described below. Link

Elementary Cellular Automata

A small elementary cellular automata simulator in javascript using canvas and functional reactive programming. Given the opportunity, I’d like to generalize this into a self-referencing cellular automata.


This is a micro-app that I use for my own work. It helps me focus like crazy. It’s like the Pomodoro Technique, but instead is goal oriented. Repo.


Write sheet music in your browser using code. Link.

This one is still a work in progress, but I’m excited to expand it further: server-side persistence, allow for ABC notation, Grand Staff rendering, printer and mobile support, and other things.

Linear Partitioning

An algorithm useful for image collage libraries and other things. Link.

Python Type Inference

Undergraduate project for statically analyzing python code to infer the types of regular python programs to find bugs and generate documentation.