Projects

A few things I've built - research work and weekend projects alike.

UAV Design Optimization

2024 – present

Preliminary design optimization for a tiltrotor drone under 25 kg and slower than 45 m/s - sizing, aerodynamics, and propulsion in one loop.

  • Python
  • Aerospace
  • Optimization
On my CV

Reinforcement learning for a double pendulum on a cart. One goal-conditioned TQC policy swings both poles up, folds either one over the other, and moves between every up/down pose. It runs live in the browser on this site.

  • Python
  • Reinforcement Learning
  • Controls

EKF-SLAM

2025

Extended Kalman Filter implementation of 3D simultaneous localization and mapping, written to be readable rather than clever.

  • Python
  • State Estimation
  • SLAM
On my CV

Real-time orientation and position on an ESP32-S3. VQF handles attitude, a 9-state EKF fuses the accelerometer with GPS for position, and the board streams it all to a browser over its own Wi-Fi.

  • C++
  • ESP32
  • State Estimation

ESP32 Cam

2026

Wrist-camera firmware for an ESP32-S3. It streams MJPEG video, detects AprilTags with their pose and distance, runs OV5640 autofocus, and tracks orientation from an optional IMU, all from a dashboard on the camera's own hotspot.

  • C++
  • ESP32
  • Computer Vision

Aerodynamic design, mass and CG budget, and 3D-printable rib export for a sub-250 g, ESP32-S3-controlled trainer, built on AeroSandbox and NeuralFoil.

  • Python
  • Aerospace
  • CAD

Hardware design

CAD model of a bike aerobar I designed Front view of the aerobar mounted on my bike My bike with the aerobar, parked at a fence with deer behind it

In 2020 I designed, built, and raced on custom hardware for my bike. Modern aerodynamic road handlebars aren't round, so they can't accept standard clamp-on aerobars, and I needed something purpose-built. Aerobars give a big advantage in the moments that decide a race, so I knew the effort would be worthwhile. The design was inspired by an earlier product from Oval Concepts. It worked well for racing, but fatigue testing showed the bolts would fail too early for it to ever become a product.

View the aerobars in Onshape →