PhD student in Astrophysics · University of Washington
I am currently a graduate student at the University of Washington working at the intersection of data science and astronomy. Modern astronomy is drowning in data with simulations that take months of supercomputer time, telescopes generating terabytes every night, surveys with billions of sources. I build the machine learning and computational tools that make data tractable spanning from emulators that replace expensive simulations with millisecond predictions to neural networks that control telescope optics in real time.
What excites me most is understanding where information lives in data. I've shown that standard analysis methods leave orders of magnitude of cosmological information on the table. I've trained networks that discover which features matter for science without supervision. I care about representation, compression, and the question of what makes a measurement informative whether that measurement comes from a telescope or a neural network. Before UW, I studied physics and math at Bryn Mawr College and spent a summer at Microsoft Research teaching neural networks to identify mosquito species from wingbeat interference in optical sensors.
Both theoretical simulations and observational surveys now produce data that pushes the limits of traditional analysis. I develop machine learning tools across the astronomical pipeline — emulators that bypass expensive simulations, compression algorithms that preserve scientifically relevant structure, and deployed systems that deliver the optical quality required for precision science.
Rubin needs to correct its optics every 36 seconds. AIDonut is the first neural network deployed for real-time control of telescope optics, and it now runs in Rubin's Active Optics System. It reads out-of-focus "donut" images and predicts 21 Zernike coefficients plus seeing, cutting inference from 30–40 seconds to under one and wavefront error by 20% relative to the forward-modeling baseline. That shortens the correction loop from three visits to two. The hardest part was the sim-to-real gap: adapting a simulation-trained network to 3 million on-sky LSSTCam donut stamps took five transfer-learning strategies and a redesign with per-mode output heads and a bounded GradNorm loss.
Before an LSSTCam image is usable, raw detector data goes through a chain of nonlinear calibration steps. I built a convolutional surrogate that replaces the whole sequence with a single 282 ms evaluation, reproducing fluxes to 0.1% (a linear gain-bias-flat model gets 0.7%) and cutting noise by 59%, which shows it recovers the nonlinear terms in the detector response. Next: full detectors with crosstalk between amplifiers, toward going from raw amplifier data to wavefront correction within the camera readout.
KBMOD searches for faint moving objects by shifting and stacking images. The existing classifier failed on faint 5σ candidates, where the real discoveries live. I diagnosed a data preprocessing bug and redesigned the model as a ResNet with channel attention, trained with focal loss on 2 million samples. It reaches 97% accuracy on held-out data and recovered 3,318 high-confidence candidates that aren't in existing cross-match catalogs, potential new trans-Neptunian objects.
A new project building a foundation model around how information clusters across different physical scales.
How I use high-resolution simulations and neural networks to model what happened when the first stars lit up the universe, and why getting the small-scale physics right matters for everything else.