Acceptability Model

2017 - 2019

The goal of the Acceptability model project was to propose a new model of protein evolution based on the assumption that the propensity for each amino acid at a site changes over time. Most previous models either required the amino acid propensities to be unchanging with time or to only change at specific points on the tree. Although it is much more difficult to design and test a model that changes continuously, that was precisely the goal of this project.

Read more…

Dota Support Timer

I enjoy a computer game called DotA. You play against other people online. Once a game has started, it is good habit to do things in the game at certain times. I wrote a Javascript Angular app to remind me of what to do.

Read more…

Player Timer

One of my friends was accused of always taking longer than the other players among my board game playing friends. I wondered if this was true, and so I built an app to keep track of how long players take for their turns. I also included a websocket backend for syncing across clients, so that anyone in the group may use their smartphones to check their turn times.

Read more…


2013 - 2018

The goal of the Phylogenetics, Likelihood, Evolution and compleXity (PLEX) project is to develop a platform for testing complex models of evolution against large amounts of DNA sequence data. The goal is to make possible fitting to data more realistic models of evolution that were previously computationally impossible to test. This is achieved by using an advanced statistical technique known as Uniformization, which allows avoiding previously computationally expensive methods such as Spectral Decomposition of the evolutionary rate matrix. PLEX compares models in a Bayesian framework using Markov chain Monte Carlo (MCMC) anaylsis.

Read more…

Volunteer Scheduling

2017 - 2018

The church I attend, Denver Presbyterian, needed a web app to schedule volunteers for the English as a Second Language (ESL) class to help teach English to new refugees in the Denver area at Project Worthmore. I had written a number web applications before, and so I offered to write one for them. The app allows users to volunteer see what classes still need helpers and to volunteer for classes. It emails users their updated schedule within 24 hours of signing up for a new class. I developed the scheduling app using Django and deployed it to the Google Compute Platform.

Read more…