Projects

My work spans a wide range of topics, technologies, and audiences.

Locus Tempus

The user interface of Locus Tempus
The user interface of Locus Tempus

Site Repository

PythonDjangoDjango Rest FrameworkMyPyTypeScriptReactWebpackCypressLTI

I am the lead developer of Locus Tempus, a platform for any instructor at Columbia University to create map-based assignments for their students. The site is built with Python and Django. TypeScript and React are used to implement interactive mapping environments. It integrates with Columbia’s learning management system via LTI to authenticate users and route them to their course spaces. It uses Mapbox and DeckGL, a WebGL-powered framework for visualizing data layers on maps.

Fernande Breilh Decruck

The homepage for Fernande Breilh Decruck
The homepage for Fernande Breilh Decruck

Site French Site Repository

PythonDjangoWagtail CMSJavaScriptWebpackPayPalDocker

The site for Fernande Breilh Decruck is a multi-lingual Django site build using the Wagtail CMS framework. The site features a faceted search interface for the catalog of Decruck’s works. It also includes a storefront for selling digital downloads of musical scores, with payments handled via a PayPal integration.

Stats Interactives

A simulation of the linear regression model.
A simulation of the linear regression model.

Site Repository

ReactSingle Page AppWebpackCypress

Stats Interactives is a single page React application that simulates various statistic theorems, built for graduate students in the School of International and Public Affairs. Because the users are not math or science majors, a key objective of this project was to build an engaging experience, and yet not gloss over important details of the theorems. My favorite of the bunch are the spinning graphs of the Linear Regression Model.

Eureka

A photo of a Bach cello suite provided the perfect cover image for Eureka's homepage
A photo of a Bach cello suite provided the perfect cover image for Eureka's homepage

Site Repository

PythonDjangoWagtail CMSWebpackCypress

Eureka is a digital guidebook for using improvisation in the ear training classroom. It was built using Django and Wagtail CMS. The scope of the content was the largest challenge with this site. To facilitate the content entry, I wrote a management command to scaffold approximately 300 pages for for the content editors.

Project OHCOE

SVG hearts were used to show a student's progress
SVG hearts were used to show a student's progress

Site Repository

HugoJavaScriptWebpackCypress

Project OHCOE is a site that teaches dental students how to intervene if they suspect that their patients have an opioid problem. I built this project with Hugo, a static site generator written in Go. It also features a number of assessments written in JavaScript, as well as custom Google Analytic events to capture video analytics.

Tensor Flock

Repository

OCamlCBashDroneCIDocker

TensorFlock is a class project from 2018. Working among a team of four, we designed a language that would typecheck the size of tensors at compile time, and implemented a compiler for it in OCaml. My contributions to the project consisted of writing the testing framework, running a continuous integration server, and implemting the lambda lifter.

Chelsea Symphony

The Chelsea Symphony
The Chelsea Symphony

Site Repository

PythonDjangoJavaScriptWebpackDockerCircleCI

I have build two generations of websites for The Chelsea Symphony. The first version was a Drupal 7 site. A few years later, I migrated the site to Wagtail CMS in order to give the content editors a better experience. Key to this migration was a migration management command I wrote to read data off of an API endpoint on the Drupal site. Working in Django also gave me the opportunity to correctly model the data, which facilitated a more flexible editing experience.