I spend most of my time working in Python, C++, and CUDA, with a healthy dose of Rust. I’ve previously worked in a variety of other languages including Java, JavaScript, PHP, SQL, and Go.
Most recently, I gave a talk at PyCon 2026 on the basics of GPU computing for Python developers and data/AI scientists. You can view the slides below:
Projects
cuDF & DataFrames
My primary work at NVIDIA is on cuDF, a GPU-accelerated DataFrame library built on Apache Arrow. We’ve built accelerated backends for both pandas and Polars, enabling users to speed up their existing DataFrame workflows on GPUs with minimal code changes.
RAPIDS
Beyond cuDF, I’m a significant contributor to other libraries in the RAPIDS ecosystem including cuML (machine learning), cuGraph (graph analytics), RMM (memory management), and cuVS (vector search).
Python Build & Packaging
I’m deeply involved in the Python build tooling ecosystem. I contribute to scikit-build-core, the modern Python-CMake build adapter, and created rapids-build-backend, a PEP 517 build backend for managing complex native Python packages. I’m also a core developer of native-lib-loader, a tool for loading platform-specific native libraries from Python wheels that is designed for use by any project. I’ve also contributed to Cython itself.
CMake
I maintain rapids-cmake, a collection of CMake modules that simplify building CUDA-accelerated C++ projects. I have extensive experience with CMake and have also made contributions to upstream CMake.
Other CUDA Contributions
I’ve contributed to a number of other core open-source projects in the CUDA ecosystem including NVIDIA CCCL (CUDA C++ Core Libraries) and cuda-python (Python bindings for CUDA).
Scientific Software
As part of my PhD research I became actively involved in the development of a great deal of scientific software including signac and freud, both of which I have also previously presented on at SciPy:
My colleague Bradley Dice and I presenting freud at SciPy 2019
Me presenting freud at SciPy 2018
In graduate school my colleague Simon Adorf and I published a paper on this topic in Computing in Science & Engineering, and more recently we wrote a blog post providing a high level discussion of our approach. In that vein I developed a few small, self-contained Python packages with clear applications: the rowan package for quaternion manipulation and the coxeter package for working with geometric data, particularly polytopes in two and three dimensions. I was also a core developer for HOOMD-blue, a high-performance particle simulation engine that scales from single CPUs to leadership-class GPU supercomputers and is one of NVIDIA’s official HPC benchmarks.