A hands-on guide to modern Bayesian workflow with PyMC and TensorFlow Probability.
I am a psychologist, neuroscientist, and Bayesian statistician.
During my PhD, I studied how culture shapes human visual perception and the neural processes behind it, using eye-tracking, EEG, and fMRI. My deepest interest is how people combine prior experience with new information when they reason about the world. That question drew me into Bayesian inference, first as a practical tool for analysing data, and then as a way to think about how beliefs change when new evidence arrives.
Over time, that interest grew into broader questions about knowledge and epistemology: how knowledge is formed, how we judge whether it is reliable, and how one scientist can build on what another has learned. This is now a big part of my work as Founding Scientist and Chief Epistemologist at rekursiv.ai, where I work on autonomous science discovery with AI. Research leaves behind more than a final result: experimental evidence, reasoning, new hypotheses, failures, and dead ends. My focus is building a process that integrates these artifacts into knowledge that helps human and AI scientists tackle the next question.
Before joining rekursiv.ai, I spent eight years at Google, most recently as a Staff Data Scientist. I worked on large-scale forecasting problems for Trust and Safety, where decisions had to be made from incomplete and constantly changing information.
I have also spent much of the past decade contributing to open-source Bayesian statistical software and the wider Python data science community. I am a core developer of BlackJAX (1.1k GitHub stars and around 220k downloads each month), a library for composable Bayesian inference in JAX, and I curate its ecosystem and community. I am also a core developer of PyMC (9.7k GitHub stars and around 1.8 million monthly downloads). I started the PyMC community on Discourse, where I spent years helping people use the library and think through modeling questions. I watched it grow from fewer than ten people to more than 4,000 members, and it now receives over 300,000 human page views each month.
I learned a lot about mentoring and scientific collaboration through this wider community. It led to work in chemistry, toxicology, and cosmology, and to co-authoring Bayesian Modeling and Computation in Python with Osvaldo Martin and Ravin Kumar. At Google, mentoring became a more deliberate part of my job when I managed a small data science team. At rekursiv.ai, I am now working on how to teach AI to discover. The mentoring continues.
Below are my book and some of my most cited papers, together with collaborations in chemistry, toxicology, and cosmology. For a complete list, see my Google Scholar (3,040 citations, h-index 24).
A hands-on guide to modern Bayesian workflow with PyMC and TensorFlow Probability.
The reference paper for PyMC, whose C, JAX, and Numba backends support computation across CPUs, GPUs, and TPUs.
A functional, modular library of sampling and variational inference algorithms that works directly with an unnormalized log density, so it plugs into any probabilistic programming language.
The TensorFlow Probability MCMC toolkit and the design considerations behind running MCMC on accelerators.
An 88-author response to the proposal to redefine statistical significance at p ≤ 0.005, arguing that researchers should instead justify and report every design choice, including alpha.
Twelve experiments testing how short and prolonged experiences of control deprivation shift analytical and holistic thinking across cultures.
Evidence that culture shapes how seven-month-old infants visually sample facial expressions, showing that cultural differences in perception emerge early.
A cross-sectional study of more than 400 people aged 5 to 96, finding greater recognition accuracy for most dynamic expressions across the life span and a particular advantage in older adults.
A Bayesian hierarchical model of developmental neurotoxicity across 88 pharmaceuticals, industrial chemicals, and pesticides, developed with collaborators in chemistry and toxicology.
A cosmology collaboration using deep generative models and Bayesian inference to separate overlapping galaxy images for next-generation sky surveys.
A cosmology collaboration using Bayesian multi-band fitting to identify possible kilonovae from real-time astronomical alerts.