I'm a Research Software Engineer at the Princeton Neuroscience Institute, where I write and maintain the software and infrastructure behind the NIH-funded BRAIN CoGS project. Before that I did a Ph.D. in Chemical Engineering at Penn, writing CUDA/C++ and MPI code for polymer simulations.
What I'm working on
- 🧠 BRAIN CoGS data pipelines. These are DataJoint pipelines for Neuropixels ephys and two-photon imaging: Kilosort 4 with DREDge motion correction, suite2p running on the cluster's GPUs through Slurm, and NWB export. All of this sits on a few hundred terabytes of storage that I keep in order.
- 🐭 Lab tools. These are the tools the lab uses every day: a Streamlit app with SSO for scheduling technicians and training rigs, the code that runs the ViRMEn virtual-reality rigs, and a Raspberry Pi GUI for water delivery.
- 🗺️ PixelMap. It's a browser-based tool for designing Neuropixels channel maps. I handle the packaging, Docker, and hosting at pixelmap.pni.princeton.edu, and co-authored the JOSS paper.
- 💰 Actual Budget. I'm a core contributor. I built the Budget Analysis report (category and group filters, stacked bars, CSV export), and I review PRs and triage issues.
- 🔒 Keeping research code maintainable. I add uv packaging, pre-commit hooks, CI, Dependabot, and secret scanning to lab repos that have never had tests.
- ⚡ GPU ports. I help researchers move CPU code to GPUs. At the Princeton Open Hackathons, the teams I mentored got roughly 100x speedups with Numba and 1000x with CuPy.
I also send fixes upstream to the tools I depend on, including datajoint-python, element-array-ephys, react-spectrum, and phy.
Before Princeton
At Penn I worked with a researcher at Sandia to port my lab's particle-mesh (TILD) routines into LAMMPS. I also restructured our in-house CUDA code so we could keep adding features to it, and taught lab workshops on Rust, CUDA/Thrust, and Git.
Tools I use most
Python · C++ · CUDA · MPI · Slurm · DataJoint · Streamlit · Docker · GitHub Actions · uv · Linux
Outside of work I row, run, and self-host more services than I strictly need (Immich, Vaultwarden, Nextcloud, TrueNAS, and so on). I'm also a member of US-RSE and helped run logistics for US-RSE'25.