A screenshot of the hospital-university transport dashboard for Massachusetts. Several large universities absorb flow from smaller hospitals.

In collaboration with my colleagues at MGGG, I designed data pipelines and a mixed integer programming-based algorithm for a COVID-era logistics problem: what is the best way to use empty college dormitories as overflow space for strained hospitals?

Our model is available as an interactive and a Google Colab notebook. This work was covered in The Tufts Daily, informed an article in The Boston Globe by the president of Tufts, and was sponsored by an NSF RAPID grant.

A screenshot of the campus coronavirus testing similator, showing a maximum wait time of 13 minutes for the student cohort and very little wait time for the staff cohort.

At MGGG, I developed an interactive tool for modeling wait times at coronavirus testing centers on university campuses. This interactive was used by administrators at multiple NESCAC schools to plan the fall 2020 semester. The underlying model is a time-dependent variant of the M/D/c queue, a fundamental model in queueing theory. I built the user interface with Victory and React.

GerryChain.jl logo.

In collaboration with Bhushan Suwal (MGGG) and Matthew Sun (Princeton), I am developing an optimized, parallelized version of MGGG’s GerryChain, a popular tool for generating redistricting plans via Markov chain Monte Carlo (MCMC) sampling. This new tool is forty times faster than GerryChain in typical single-core cases and has significantly accelerated some of MGGG’s key experimental workflows.

As part of a logistics effort at Tufts University and Wellesley College, I developed a mixed integer programming-based algorithm for scheduling coronavirus tests. The algorithm takes personal schedules, testing center capacity, test spacing, and load balancing into account to produce optimal schedules for over 10,000 people at Tufts and Wellesley. Joint work with Moon Duchin (MGGG), Gabe Schoenbach (MGGG), and Olivia Walch (UMichigan).

A complete graph (every vertex is connected to every other vertex). Each node in this graph is colored differently.

For my final project in Topics on Algorithms, Graphs, and Data Structures (Tufts COMP150-ALG), I surveyed the literature for the graph coloring problem, a notoriously inapproximable NP-complete problem. I also implemented React-based animations of several popular coloring heuristics and explored the properties of Erdős–Rényi random graphs.

Shaded regions indicating the overlap of linear constraints on a plane.

For my final project in Computational Geometry (Tufts COMP163), I implemented Joseph Megiddo’s seminal algorithm for solving 2D linear programs in linear time, along with several other fundamental algorithms in computational geometry. The project is available as a Google Colab notebook.

An animation showing the construction of a districting plan on a grid by walking randomly and coloring squares along the walk.

Drawing congressional districts is largely about striking compromises between complex political and geographic interests. I sought to simulate a citizens’ commission by training virtual agents to competitively draw maps according to their own interests using evolution strategies (a variant of reinforcement learning).

For this work, I was awarded an AI Grant that included $20,000 of Google Cloud Platform credits and $2,500 of direct funding in my senior year of high school.


Spring 2020

A districting plan on a small grid.

I designed a highly parallel algorithm for computing exhaustive redistricting statistics over small grids.

An animation of search and rescue on a grid. Several searchers attempt to find a missing person walking randomly.

My final project team for Mathematical Modeling and Computation (Tufts MATH87) studied grid idealizations of a search-and-rescue problem inspired by a team member’s professional work with El Paso County Search & Rescue. Our approach utilized finite-horizon methods to coordinate a simulated search party over a series of timesteps.

The shape of language


A plot showing the steadily increasing popularity of the phrase critical reason over time.

Inspired by previous work in culturomics, a branch of the digital humanities that uses large datasets to study broad trends in language usage, I analyzed word trajectories: do words or phrases ever really go out of fashion? (The answer: rarely.)

(Semifinalist, 2018 MIT INSPIRE humanities fair.)