Here are a few interesting open-source projects that I’ve worked on over the years. I also teach mathematics.

UW Student Seminars

I help run the UW Student Seminars. Several of my past talks for the seminars are listed here.


Many applications display information to readers in prose format instead of tabular format. It is often important to generate human-readable, grammatically correct prose. However, taking care of grammatical special cases is tedious.

EnglishText.jl solves this problem by providing a variety of convenient utility functions.

EnglishText.jl aims to

  • provide a convenient, universally useful approach to abstracting away grammatical special cases
  • be self-documenting where possible, but well-documented nevertheless
  • not have unnecessary performance bottlenecks


using Currencies; @usingcurrencies USD, CAD

This is a library for the Julia programming language that supports currency arithmetic, computations, and formatting. In 2016, the project is now under the JuliaFinance organization umbrella.

High School Enrichment

With my friend Ian Fox, we created an enrichment curriculum for our high school CS club. It covers a lot of stuff, including algorithms like Bellman-Ford and data structures like Binary Search Trees.


This is a web application that allows looking for events near you. Events can be added from the same web application. The backend is in Node.js and PostgreSQL.


a liquid game

This is a web game in JavaScript and HTML5 canvas, using the fabric.js library.

Pymaze JS

a pymaze js game

This is a web game in JavaScript and HTML5 canvas. It started as a port of my high school CS Club project, Pymaze, which was programmed in Python and used the pygame library. After the port, some additional features were added and the overall experience was improved.