This page lists some of my personal, work, and school projects. You can find the source code for (almost) all of these projects and more on GitHub.

All of my open-source projects receive continued maintenance when needed. The dates below, however, show when most of the major development happened.

Currently working on

Emacs projects

Games and apps


Other personal projects

Work projects

(See also my resume.)

  • Ecofasten and Alpine Snowboards pricing calculators (Summer 2015, ThinkTopic; proprietary): Frontend and backend work on existing Clojure/ClojureScript/Datomic web applications for generating price quotes for roof-mounted solar panels and alpine snowboards. Teammates: Charles Gruenwald, Keren Megory-Cohen.
  • think.recommend (Winter 2015 – Summer 2016, ThinkTopic; proprietary): Library for testing and benchmarking collaborative filtering algorithms.
  • cortex.optimise (Spring – Summer 2016, ThinkTopic): General-purpose library for analyzing, visualizing, and comparing gradient descent algorithms.
  • think.quality (Summer – Winter 2016, ThinkTopic; proprietary): Tool for running company-wide Clojure code quality audits and dashboard to visualize results.
  • CMS Changeset Dashboard (Summer 2017, Quantcast; proprietary): Full-stack administrator dashboard for an internal team to manage an internal database used by an internal webapp used by another internal team to manage another internal database. You can imagine the customer-facing impact.
  • lazy-map (Fall 2017, ThinkTopic): Lazy map implementation for Clojure.
  • UPM (Summer 2019, Universal package-management interface for Python, Node.js, Ruby, and Emacs Lisp.

School projects

Deprecated projects

  • CAS (Summer 2014): Failed attempt to create a computer algebra system, like Mathematica.
  • minimal-webapp (Summer 2016): Noble effort to create a ClojureScript webapp that did not require a huge number of incomprehensible build system configuration files that nobody quite understood. It almost worked.
  • acc (Summer 2017 – Summer 2018): Command-line accounting tool with first-class support for reconciling multiple ledgers interactively. This project was abandoned when it was pointed out to me by a friend that I didn’t actually have to track every single one of my financial transactions.
  • etunes (Fall 2017 – Summer 2018): Declarative, version-controlled music library manager for Emacs. Attempt #1 at a personal music library manager.
  • fstunes (Winter 2018): Extremely minimal music library manager leveraging UNIX filesystem abstractions. Attempt #2 at a personal music library manager.

Abandoned and on-hiatus projects