CommitChange is a fundraising platform for nonprofits. It has been a whirlwhind of an experience, starting in the summer of 2013 with Roderick Campbell, when we packed everything we owned into a single car and drove to the Bay Area to join the BoostVC incubator and begin the long and strange journey of building a tech startup in “silicon valley”. We have since moved to Oakland. I’ve served as the CTO, doing full stack development in javascript as my primary focus for the last few years.

Other projects

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 - A SAAS startup 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

Statically analyzes python code and can potentially infer the types of almost everything. My major project as an undergrad, this was something I have always wanted to return to.