Render LaTeX content in R graphics.

latex2exp is an R package that parses and converts a growing subset of LaTeX commands formulas to R's native math expressions. This allows LaTeX can be used anywhere a plotmath expression is accepted, including plot labels, legends, and text for both base graphics and ggplot2. latex2exp is available on CRAN.

Website View on GitHub
Train Scikit-learn classifiers in the browser using Pyodide

This React web application can train a variety of Scikit-learn classifiers and plot probability surfaces using Matplotlib, completely client-side in the browser. This is implemented without any server component using Pyodide.

The user can compare the performance of different types of classifiers (Logistic Regression, Decision Tree, Random Forest, SVM with RBF kernel, K-nearest neighbors, a 2-layer Neural Network and Gaussian Process) on a variety of predefined randomly-generated datasets.

Try View on GitHub
Exoplanetary Data Analysis for scientists.
Machine learning
Numerical optimization
Public data

Systemic 2 is a software package for fitting and analyzing a variety of exoplanetary data. It consists of a fast, parallelized C library (which you can easily integrate into your own project), an R package providing a high-level interface to the library, and an easy-to-use "IDE" interface for interactive analysis and plotting written in Java. Scientists can use Systemic 2 to either analyze, or reproduce the analysis of, exoplanetary datasets in a consistent, reproducible manner.

Systemic 2 offers interactive model fitting to time series, Lomb-Scargle bootstrapped periodograms, Markov-Chain Monte Carlo and bootstrap uncertainty estimation, cross-validation, access to the GNU Scientific Library set of algorithms, a large library of pre-set plotting, and integrates with for easy access to published data.

Systemic 2 has been used to discover or characterize than 40 planetary systems.

Go to Systemic 2 View on GitHub Code Paper
Discover exoplanets using real astronomical data.
Web app
Public Data

Systemic Live is a web application that lets you visualize real radial velocity datasets from telescopes all around the world, and try to discover the exoplanetary signals buried in the data. Students, teachers and the general public get a taste of the scientific process of data analysis.

Systemic has become part of curricula of undergraduate and graduate classes at Caltech, University of Florida, University of Texas, MIT, San Jose State University, Delaware, Yale, Columbia, University of California at Santa Cruz, San Francisco State University, and others, reaching >400 students to date, and on the Massive Open Online Course "The Science of the Solar System", taken by ∼13,000 Coursera students.

Systemic Live uses the C/Fortran codebase of Systemic 2, transformed into high-performance JavaScript code through the magic of Emscripten.

Go to Systemic Live View on GitHub Presentation
The game of Gravity.
HTML5 game

Super Planet Crash is a browser-based gravity game where players create planetary systems and watch them evolve. The crowded and chaotic the system, the better!

Super Planet Crash has been played than 12,000,000 times, and it has been featured in articles on The Verge, Huffington Post, io9,, VICE, & others.

Play Super Planet Crash Presentation
Help an alien civilization design new planetary systems.
HTML5 game

You are the newest employee of the planet-building company Nova Planetia, working for your short-tempered supervisor, Big Boss Reaz-7. Prove yourself worthy of a promotion by designing planetary systems to the exact specifications of your fickle customers.

Orbits consists of multiple bite-sized levels addressing specific scientific concepts about the motion of planets around stars. The game includes a login system which records students’ progress, and an instructor report system where instructors can check their students’ progress and scores.

GravityKit uses the same engine as Orbits for a free-form gravity simulator.

Play Orbits Play GravityKit View on GitHub
SAVE/Point — Interactive Education Tools in the Public Square
Interactive displays for astronomy education in public spaces.
Interactive installations

SAVE/Point (PI: Meschiari) is a collaboration of astronomers and educators dedicated to developing new, innovative games and educational applications to teach astronomical concepts at all levels. Our mission is to create fun, engaging and scientifically accurate educational activities that are widely accessible and on multiple devices and browsers.

We also develop touch applications to install in public spaces as interactive kiosks. Our group received preliminary funding to pilot the installation of five wall-mounted tablets running our suite of applications in 2014-2015. The tablets will be installed on four floors in the Robert Lee Moore building at the University of Texas, which houses the Physics, Mathematics and Astronomy Department and various research centers. Our apps will be available to students enrolled in classes in the building, and to the general public and K-12 students on field trips who might attend public viewing nights with the department telescopes. Additionally, we licensed our game to the Seattle Museum of Flight for use as a stand-alone interactive exhibit on gravity.

Our interactive games were hosted by the James Webb Telescope booth at the 2015 SXSW Gaming Expo.

Go to SAVE/Point website View apps & games
Ask questions about the Universe to real astronomers.
Static Jekyll website

Curious about Astronomy? Have a burning question about the Universe that you'd like answered?

I created this website to connect K-12 students, teachers, and the general public with a team of graduate students, postdocs, researchers and faculty affiliated with the University of Texas and McDonald Observatory. The most interesting questions are published on this website. is a completely static website powered by Jekyll and GitHub Pages.

Ask an Astronomer View on GitHub
An interactive visualization tool to understand trends in the astronomy literature.
Interactive viz
Web app
Beta C
A tiny but generic implementation of the simple Metropolis-Hastings MCMC algorithm, with no dependencies.

When Giants Collide
Beta JavaScript
Is it a game? Is it a demo? Is it a web browser benchmark? Get some terrible thrills by smashing two giant balls of gas in your browser using Web Workers. It computes Barnes-Hut tree gravity for a collection of point masses.

Beta RShiny
Interactive period-mass-discovery data plot. Uses rbokeh and Shiny.


BAM (the Big Article Machine) is a lightweight, elementary, extensible templating language based on Lua. It was used to generate skeletons scientific articles for the Lick-Carnegie Exoplanet Survey.


If astronomers were to spam you with scientific articles, what would their abstracts look like? Featuring cute ASCII animals.

Blanks is a Wikipedia memory game, and an experiment in speed development of a minimum viable game.