code
Technical skills and open source projects.
Skills
Languages: Python, C++, Rust, SQL
ML / DL: PyTorch, TensorFlow
Reinforcement Learning: Ray RLLib, Farama’s Gymnasiumn and PettingZoo
Agentic & RAG: LlamaIndex
TDA: scikit-tda, Gudhi, Giotto-tda
Infrastructure: Docker, AWS, Google Cloud Run
Visualization tools
Persistent Homology Explorer
This is a tool for understanding Vietoris-Rips and Cech persistent homology. Change the dataset, number of points, and the radius while watching everything update live.
Torus walk slider
A plotly visualization for understanding higher dimensional random walks on CW complexes. This particular example shows a one-dimensional walk on a CW decomposition of a torus.
Open source code
I am a maintainer of several libraries in the scikit-tda ecosystem, a collection of TDA tools designed to work within scikit-learn pipelines.
- persim – distances and vectorizations for persistence diagrams, including persistence images and bottleneck/Wasserstein distances
- ripser – fast Vietoris-Rips persistent homology for point cloud data, wrapping the optimized C++ ripser library
- kepler-mapper – implementation of the Mapper algorithm for topological data visualization
- tadasets – synthetic datasets and point clouds for benchmarking and testing TDA methods
I also contributed to two open source libraries developed at Geometric Data Analytics:
- topological-parallax – computes the topological mismatch between a pre-trained model and a dataset, providing a geometric measure of model-data alignment
- dispers – a Python interface for distributed persistence, enabling scalable TDA computations across large datasets
Research code
- PL_fMRI – persistence landscape analysis of fMRI data; code accompanying the work on topological features of ACC activation
- MPFigs – Plotly code for building figures useful to understand multiparameter persistent homology
- MBDS21_TDA – tutorial notebooks introducing TDA methods, developed for the 2021 Midwest Big Data Summer School
- MBDS19_TDA – similar to the above