Projects

Things I've built, published, and open-sourced.

Engineering projects, research prototypes, open-source libraries, and the occasional weekend experiment that grew into something real. Most of these are publicly available — pull requests welcome.

Featured

Projects with a story worth telling

The projects below represent the hardest engineering problems I've solved — where the interesting parts were the parts that didn't have an obvious solution.

Open Source

Code I've released publicly

I believe in open-source as a first-class engineering practice — not just a way to share code, but a way to build better systems. All repositories are actively maintained.

kepler

Modular motion planning library for mobile robots and manipulators. RRT*, CHOMP, TrajOpt with a unified API, Python bindings, and full ROS 2 integration. Used by 3 research groups.

C++
847
142
rl-transfer-bench

Standardised benchmarking suite for sim-to-real transfer in robotic manipulation. 12 task environments, unified metrics, and baseline results for 6 state-of-the-art algorithms.

Python
312
58
pytorch-edge-deploy

Opinionated toolkit for deploying PyTorch models to NVIDIA Jetson and Raspberry Pi hardware. Handles TensorRT conversion, latency profiling, and memory budgeting.

Python
194
41
ros2-docker-dev

Production-ready Docker development environment for ROS 2. GPU passthrough, VS Code devcontainer config, X11 forwarding, and automated setup scripts. Companion to the blog tutorial.

Shell
428
96
Experiments

Things I'm exploring right now

Active experiments, side projects, and open questions I'm chasing in my spare time. Some of these become papers. Most of them just stay interesting.

Active

World Model-Based Planning for Manipulation

Exploring DreamerV3 as a backbone for dexterous manipulation planning. Current question: does the world model actually learn useful contact dynamics, or just correlations?

Active

Uncertainty-Aware Edge Deployment

Investigating Bayesian neural networks and ensembles for uncertainty quantification on NVIDIA Jetson hardware. Target: calibrated confidence with under 5ms overhead.

Active

Generative Terrain Augmentation for RL

Using a diffusion-based terrain generator to produce training environments that are structurally different from those seen during policy training — targeted curriculum rather than random.

Completed

LiDAR-Camera Calibration Automation

Automated extrinsic calibration pipeline for LiDAR-camera pairs using a learned target-free approach. Reached 0.3° angular accuracy. Released as part of rl-transfer-bench.

Completed

Modular Synthesizer MIDI Controller

A custom Raspberry Pi-based MIDI controller for my modular synthesizer setup. C++ firmware, 32 knobs, 16 buttons. Finally finished after three years. It works.

Completed

MLflow Drift Detection Plugin

A plugin for MLflow that adds statistical drift detection to logged models. Integrates with the Orion monitoring work. Currently under review for integration into the main MLflow project.

Want to collaborate on a project?

If you're working on something that intersects with my interests in robotics, ML, or open-source tooling — let's talk.