⇧ Home

Projects

Projects where I was the only significant code contributor are italicized, but successful projects have gone well beyond what I could have done alone.

OpenDP

Improved the testing, documentation, and usability of OpenDP, a software library that can help protect the privacy of individuals in aggregate statistics. Reviewed PRs from the library architect and contributed to the Python and R APIs. Restructured the documentation to address the needs of diverse audiences, and added tooling to ensure the documentation's internal consistency and completeness.

On github: my commits. python, rust.

DP Wizard

Designer and developer of DP Wizard, a tool that makes it easier to get started with differential privacy. You can run DP Wizard locally and upload your own CSV, or use the cloud deployment and only provide column names to protect your private data. In either case, you'll be prompted to describe your privacy budget and the analysis you need. With that information, DP Wizard provides a Jupyter notebook which demonstrates how to use the OpenDP Library, a plain Python script, and text and CSV reports.

On github: my commits. python, shiny, opendp.

DP Deployments Registry Data

Primary author of validation tools for the Differential Privacy Deployments Registry.

On github: my commits. python, jsonschema.

HuBMAP Portal

I guided the work of two junior developers and a designer to align with the high-level goals set by our PI, and I worked with outside teams to define the APIs that support our frontend.

On github: my commits. python, flask, react, docker, elasticsearch.

HuBMAP Ingest Validation Tools

Data submission guidelines, and tools to check that submissions adhere to those guidelines. Listened to data curators, pipeline authors, and lab scientists, and delivered scripts and a schema language that is used to validate submissions and generate documentation.

On github: my commits. python, tableschema.

tableschema-to-template

Generate Excel data entry templates from Tableschema definitions. A small reusable module factored out of the larger ingest-validation-tools.

On github: my commits. python, tableschema.

Vitessce

“Visual Integration Tool for Exploration of Spatial Single-Cell Experiments”. Initial author of a Javascript library for declaratively specified, linked, interactive visualizations, repurposing the deck.gl geospatial library for microscopy and single-cell analysis.

On github: my commits. javascript, deck.gl.

heatmap-scatter-dash

Simple heatmap + scatterplot using Plotly Dash.

On github: my commits. python, docker, dash.

django-docker-engine

Docker engine wrapper + proxy server for containerized visualizations in Django. Generic visualization launch architecture, for which heatmap-scatter-dash was a demonstration client.

On github: my commits. python, django, docker.

American Archive of Public Broadcasting

One of two web developers on a collaboration between the Library of Congress and WGBH Boston.

On github: my commits. ruby, rails, solr, blacklight.

CMLess

Rails gem to manage a site’s static content as markdown on github. Proposed and got buy-in for the idea that rather than maintaining a separate CMS, static pages on the American Archive of Public Broadcasting could be based on markdown in the repo, with frequent redeployments.

On github: my commits. ruby, gem.

FP-DataEntry

Server + browser bookmarklet for copy cataloging in natural history collections. The Filtered Push project had proposed a distributed network for data-sharing across natural history collections. When that failed to engage with users, proposed and implemented a small tool to support interactive screen scraping and data alignment.

On github: my commits. java.

concertina_helper

Python script and supporting API to find fingerings on bisonoric concertinas

On github: my commits. python, A*, concertina.

walkle

Like wordle, but for walks.

On github: my commits. javascript, vue.

spiro-font

Font construction in the browser

On github: my commits. javascript, vue.

dagsheet

A toy graphical functional programming environment

On github: my commits. javascript.

yajt

Video processing and sound generation in the browser

On github: my commits. javascript.