Projects
Here you can browse my projects. Each card gathers everything about a project in one place.
A general-purpose billiards/pool simulator built for science and engineering — realistic physics, an interactive 3D interface, and a scriptable API. You can also just play it as a game.
Publications
- Pooltool: A Python package for realistic billiards simulation Journal of Open Source Software
Blog
- Pooltool is alive and well May 2023
- Pooltool just underwent a massive graphics overhaul Oct 2021
- Pooltool is now an open source billiards video game rendered in 3D Apr 2021
- Creating a billiards simulator: the transition from equations to code Mar 2021
- The algorithmic theory behind pool/billiards simulation Dec 2020
- The physics of pool/billiards Apr 2020
An MCP server that gives language-model agents two-way access to a live PyMOL session — agents drive PyMOL and read typed results back out (coordinates, distances, alignments), so they can answer structural questions, not just run visualization commands.
Publications
A Python package that makes UMAP interpretable by decomposing each point’s embedding coordinates into exact contributions from the original input features — revealing which variables drive the clusters, gradients, and outliers in high-dimensional data.
Publications
A community-driven, open-source platform for integrated microbial ‘omics — metagenomics, pangenomics, metabolism, and phylogenomics — built around a powerful interactive visualization interface.
Publications
- Community-led, integrated, reproducible multi-omics with anvi'o Nature Microbiology
A virtual dog-sitter: open-source software for self-monitoring my dog, featuring audio event detection and classification, interactive behavior plots, and logic to praise or scold.
miscellaneous
A grab bag of blog posts that don’t fit neatly elsewhere — travel logs, one-off experiments, and the occasional musing.


