JANUS
Neural networks that read a red giant's chemistry from its Gaia spectrum and say how far to trust each result. It runs on Deucalion and MareNostrum 5.
I write research software for stellar astrophysics and browser apps that run on real data.
Neural networks that read a red giant's chemistry from its Gaia spectrum and say how far to trust each result. It runs on Deucalion and MareNostrum 5.
Python package that finds groups in a table of measurements without labels and reports how often each group recurs across 32 refits. It returns 17 named warnings for claims the evidence does not support.
Pipeline that builds synthetic fields of dense star clusters and forecasts the noise in each star's brightness measurement for the proposed HAYDN mission. I wrote it during my secondment at INAF-OAS Bologna.
Methods from my coursework and research, rebuilt to run in the browser on real data.

Watch a network learn stellar metallicity live from real spectra of 4,000 stars.

Compare three ways of integrating an orbit around the Earth, then follow six Gaia stars through the Galaxy.

Draw random curves, pin them to observations, then model the activity of the star HD 41248 from 223 velocity measurements.

Solve the Lane-Emden equation, scale it to a real star and see where the simple model stops working.
Larger tools built on real catalogues and stellar models, to explore in the browser.
These are codes written by other people that I have used in my research, each credited to its authors.
By L. da Silva et al. (2006); T. S. Rodrigues et al. (2014, 2017)
A Bayesian code that compares a star's observed properties with a grid of stellar models and returns distributions of its mass, radius and age. I used it on synthetic stars and on 35 seismic Ariel targets.
By B. Paxton et al. (2011) and the MESA developers
An open-source code that evolves a star through time by solving the equations of stellar structure. I worked with its evolutionary tracks as the model grid behind PARAM and in my thesis figures.
By R. H. D. Townsend and S. A. Teitler (2013)
In my MSc thesis I worked with GYRE mode frequencies in the PARAM grid, from which the global seismic parameters were derived. I did not run GYRE myself.
By L. Casagrande and D. A. VandenBerg (2014, 2018)
Tables and codes that convert the light a star emits in one filter into its total output, the bolometric correction. I used them for luminosities in my MSc thesis, with Monte Carlo sensitivity tests.
By Y. Chen et al. (2019)
A database of bolometric corrections for many photometric systems, made for the PARSEC isochrones. I used it alongside BCCode to turn Gaia magnitudes into luminosities in my MSc thesis.
By J. Bovy et al. (2016); dust map by G. M. Green et al. (2019)
A Python package that returns interstellar extinction for a direction on the sky and a distance, from published dust maps. I used it for the extinction of Ariel targets, favouring the 3D map of Green et al. (2019).
By L. Girardi et al. (2005)
A model of the Galaxy that predicts the stars seen in a given field. I used it to generate synthetic populations of globular clusters for noise forecasts of the proposed HAYDN mission.
By R. Samadi (LIRA, Observatoire de Paris)
A per-star photometric noise model for the proposed HAYDN mission. I ran it on a supercomputer for HAYDN target fields and, reconfigured, for three PLATO Guest Observer proposals.
By J. Bovy (2015)
A Python package for Galactic dynamics that integrates the orbit of a star through a model of the Galaxy. I use it for orbit parameters in work in preparation and in my ArqueoGal data repository.
By Gaia DPAC (CU5/DU14)
A Python package that turns the coefficients Gaia DR3 publishes for its BP/RP spectra into calibrated spectra. I use it to calibrate Gaia XP coefficients in work in preparation.
How I used itHomepageGaiaXPy 2.1.5 release, ZenodoSource code
Tellurion: a laboratory of interactive physics simulations
Covers mechanics, electromagnetism, optics, quantum mechanics, relativity, statistical mechanics, fluid dynamics, condensed matter and astrophysics. Built during the PhD as a teaching resource.
Starfold
Python package that finds groups in a table of measurements without labels, using UMAP, HDBSCAN and Optuna. It extends Neitzel et al. 2025.
Stellar Explorer
Browser app built on a MESA r24.08.1 and GYRE track of a one-solar-mass star, with an HR diagram, an animated interior, profile panels and an oscillation spectrum.
ArqueoGal integration repository
Prepares Gaia DR3 and APOGEE DR19 data, with provenance, for the models of the FCT ArqueoGal project. The stellar-label model (JANUS) and the population classifier (Starfold) are separate repositories.