I am a computational astrophysicist researching dark matter — what it is, and how it shapes galaxies — mostly by using stellar streams to constrain their gravitational potentials, in the Milky Way and far beyond it with large-scale surveys.
When a star cluster is torn apart by its host galaxy, the debris can trace a long, thin stream. Properties of the stream — its path, shape, width, etc — are all sensitive to properties of the host, including its dark matter. I develop and apply novel methods to study these streams and learn about the dark matter; I also build much of the software powering these methods and analyses. I am also a core developer of Astropy, helping to power all of astronomy.
Selected publications
All publications →Background
Software
All software →The community core package for astronomy in Python. The collaboration received the 2025 AAS Lancelot M. Berkeley Prize, a 2023 IOP Publishing Top Cited Paper Award and the 2022 ADASS software prize.
Orbit integration, potentials and stream generation — GPU-accelerated and fully differentiable.
Multiple dispatch for Python, with type-hint-driven method resolution — the dispatch layer under quax and unxt.
Vectors, frames and transformations — differentiable, and unit-aware via unxt.
Unit-aware quantities that survive jit, grad and vmap.
Custom array-ish types that work with JAX primitives — the substrate the rest of the stack builds on.