Projects where I was the primary author are indicated, but the most 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 |
Primary author and designer 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-wizard-templates |
Primary author DP Wizard Templates, a package which lets you use syntactically valid Python code as a template. Templates can be filled and composed to generate entire notebooks. On github: my commits. python, notebooks. |
| polars-to-ibis |
Primary author of polars-to-ibis, a python package which allows queries to be constructed in Polars and then executed on arbitrary backends using Ibis. On github: my commits. python, polars, ibis. |
| 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 |
Primary author of 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 |
Primary author of tableschema-to-template, which generates 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 |
Primary author of a simple heatmap + scatterplot application using Plotly Dash. On github: my commits. python, docker, dash. |
| django-docker-engine |
Primary author of 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 |
Primary author of 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 |
Primary author of 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 |
(Personal project) Python script and supporting API to find fingerings on bisonoric concertinas On github: my commits. python, A*, concertina. |
| walkle |
(Personal project) Like wordle, but for walks. On github: my commits. javascript, vue. |
| spiro-font |
(Personal project) Font construction in the browser On github: my commits. javascript, vue. |
| dagsheet |
(Personal project) A toy graphical functional programming environment On github: my commits. javascript. |
| yajt |
(Personal project) Video processing and sound generation in the browser On github: my commits. javascript. |