Amtrak routes

I manually vectorized all of Amtrak's routes as of 2026 and overlaid them with the official map provided.

Weaving chart converter

Converts weaving tie-up chart and weaving sequence to a pixelated weaving chart. This makes it possible to to use Marguerite Porter Davis' book of patterns on simple frame looms.

Voronoi Treemaps Demo

Testing out different methods of creating voronoi treemaps: (A) one-level grouping, (B) two-level grouping, and (C) showing proportions within groups. Inspired by NYT graphics on US budgetary spending.

English Premier League 2023-2024, 2024-2025

Fun Streamlit & Altair data dashboard made as a TA for DATA227 at University of Chicago.

Harris County Juvenile Justice Report: Long Detentions

Report co-written with economist Diego Amador for HCJJPD on long detentions from 2000-2019.

Texas map + Mapshapr

Dashboard to clean administatrive inconsistencies in geographic data.

Color package: Chromatose

A pip-able color package I created to store and create my own palettes.

Phthalate Prediction

Given SMILE string of phthalate, metabolism prediction given Phase 1 and Phase 2 metabolic chemistry.

Photometry Analysis

Analysis of photometry microscopy data & chemical off-rates.

Floating squares of
  Julio Le Parc

Le Parc's 3D kinetic structures are attempted in 2D.

C. Crescentus Bayesian modeling

Model comparison of bacterial growth from a Bayesian perspective.

C. Crescentus Image segmentation

Model comparison of bacterial growth from a frequentist perspective. My first introductions to image analysis.

Arc diagrams in d3

First mini d3 viz! Exploring SVG gradients and event handlers.