Opens in a new tab
Projects

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

Engineering projects, research prototypes, open-source libraries, and experiments that outgrew the weekend they started in. Code is public wherever I can share it, and pull requests are welcome.

Featured

Projects with a story worth telling

The projects where the problem had no obvious solution, and the path to one taught me the most.

Open Source

Code I've released publicly

Open source is how I build better systems: public code gets reviewed, tested, and challenged. Browse the repositories below or find everything on GitHub.

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

Side projects and open questions I chase in my spare time. Some become papers. Most 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 in robotics, machine learning, or open-source tooling, I'd like to hear about it.

Secret Link