Authors: Kathir Meyyappan, Robert Xing
Project link: https://kathirm.com/exoplanet-orbit-sim/
Source code: https://github.com/kathirmeyyappan/exoplanet-orbit-sim
Our final project for this course takes the form of an interactive program that simulates and visualizes the habitable zones of currently known exoplanets (and planets in our solar system) as determined by data taken from the NASA Exoplanet Archive.
Visualizations include various computed extrapolations and metrics (orbit eccentricity, star temp, 1 AU comparisons, etc.). Shown below are screenshots from our local development process (before we deployed the code to a personal domain: https://kathirm.com/exoplanet-orbit-sim/).


The website is built in TypeScript (good web dev practices!), primarily using three.js for graphics, and is hosted using GitHub pages. It was built with software modularity in mind, and our source code can be found here, with a system design-oriented README explanation here.
We chose to exclusively query from the NASA Exoplanet Archive, as it is the primary source for official and confirmed observations and measurements. It is available as a public database with a query-able endpoint, and can be found here. Using this data, we are able to display each exoplanet’s orbit, its star’s temperature zones, and ultimately determine whether it lies in the habitable zone.
In our simulator, we display all of the parameters relevant to these calculations, as well as a user interface for querying exoplanets with the ability to filter for various parameters (e.g. star temperature, orbital distance, planet mass, etc.). It should be noted that because of NASA’s terrible DB infrastructure, queries are slow and finicky despite our best efforts to mitigate this with caching and pre-built queries. In an attempt to make the user experience here seamless, we also had some default, preloaded entries that need not hit the database at all (including our own solar system’s planetary info).
The link to our project is below! Please give it a try.