I get really excited about studying planets, writing code, and generating data-driven insights. Astrophysics has all three, which is why im in the biz. Below are a few highlights of the things I've worked on. For a more complete list check out my CV.

How Common are Earth-Like Planets?

In 2009 the Kepler Space Telescope was launched into space, providing scientists (for the first time ever) an opportunity to study a population of planets outside our Solar System. Kepler has detected over 3500 confirmed planets (and counting!), and from this data one can answer some fundamental questions that humans have wondered since the dawn of time. One question that has fascinated me for decades is, "Are there other Earth-like planets in the universe?"

Along with Eric Gaidos and Yanqin Wu, I calculated that roughly 6.4% of stars house an Earth-like planet. Since there are roughly 200 billion stars in our galaxy, that means that there are roughly 13 billion Earth-like planets in our galaxy! To put that in perspective since there are roughly 7 billion people living on Earth, everyone could claim roughly two Earth-like planets for themselves =P. In addition, I calculated that 66% of stars house a planet of some kind (be it Jupiter-sized, Neptune-sized, etc.), which means that if you were to pick 2 random stars in the sky, one of them is likely to have a planet orbiting around it. Check out my paper for the details!

Artist impression of Kepler 186f, a potentially habitable world discovered by the Kepler Space Telescope (

Machine Learning and Planet Stability

Many famous scientists, including Newton, Lagrange and Gauss have wondered whether the Solar System is longterm stable (i.e. will any planets collide or get ejected from the system in the next few billion years). This is a difficult question to answer due to the chaotic nature of planetary systems, meaning that the system's evolution is highly sensitive to the initial conditions. Fortunately, for all of us today living in the age of computers (poor Newton), scientists can use a N-body integrator like REBOUND to numerically evolve a planetary system into the future or past and determine whether the system is longterm stable. However, the downside of this method is that a single simulation can take weeks to complete, and due to chaotic nature of planetary systems, thousands of simulations must be run (with slightly different initial conditions) to acquire statistically rigorous results. This can take a long time.

Enter machine learning. Similar to how a human learns to recognize a cat by seeing many different examples of cats, a computer can learn to recognize a cat via machine learning by receiving many examples of what is and isn't a cat. In the context of astrophysics, we can use machine learning to teach a computer how to recognize stable (vs. unstable) planetary systems by showing it many examples of stable/unstable systems. Once the computer is fully trained, it can accurately predict the longterm stability of a planetary system in seconds! Check out the paper I co-authored on the subject!

Hermes - A Hybrid Integrator

Much of my work involves N-body simulations using REBOUND. An example simulation is shown on the left, consisting of a planet and 500 planetesimals orbiting around a central star. Close encounters, resonances, migration and tides are just a few of the many dynamical effects that can occur such a planetary system. I am fascinated by their role in shaping planetary systems and specifically how they could have influenced the formation of our Solar System.

I have contributed to the development of REBOUND by building HERMES, a hybrid integrator for simulating planetesimal migration and close encounters. Out in the real universe, for a given system of N-bodies certain quantities will be conserved, like energy and momentum. However, when simulating these planetary systems on a computer, due to inherent numerical limitations (e.g. a computer cannot store an infinite number of digits), these quantities will grow with time. As it turns out, for standard integrators these errors get particularly bad when two planets have a close encounter. However, with HERMES these errors are remedied, permitting scientists to investigate increasingly complex problems! Like the rest of REBOUND, HERMES is open source and written in C, with a nice Python wrapper.

An example simulation in REBOUND consisting of a star, planet, and a disk of 500 planetesimals.