Experience
Building with teams, from competition robots to human motion capture. Here’s what I’ve worked on and how it came together.
May 2026 - Present
Current
Eithelmir is a marketplace for the human demonstration data that humanoid robots train on. Labs post a task they need recorded and fund it; people record it with the glasses, watch and phone they already own. I built the pose pipeline underneath it and the web infrastructure around it.
- Built a multi-modal pipeline that predicts half-body pose from egocentric video and two wrist IMUs, reaching 9.8 cm mean joint error against multi-view RGB triangulation
- Designed a development interface for visualising 3D limb localisation and reconstruction, combining SMPL avatars, MANO hand rigs and controlled recording sessions
- Built and shipped app.eithelmir.com: the bounty board, the contributor wallet, and the upload API the iOS capture apps post to, along with the payment handling behind it
Sep 2025 - Present
Current
I co-lead software on UBC Rover. My two main projects, which I fully own, are the human–machine interface and the reinforcement-learning pipeline for our 6-DOF arm. Around those, I build the controls, embedded systems, and software infrastructure that connect the operator to the rover.
- Own the HMI project: a modular Qt operator interface with runtime plugins, dwindle panel management, saved layouts, and multi-monitor support
- Own the reinforcement-learning project: arm simulation, DAgger experiments, and residual RL on IK; recorded 429/435 Approach-to-Strike completions in MuJoCo across 87 keys with five trials each
- Progressed from IK control to IK-driven task completion, alongside embedded GNSS mapping and pathing
Sep 2024 - Aug 2025
ARRC builds autonomous aerial vehicles for the Aerial Evolution Association of Canada competition. I worked on the vision stack for the JellyfishV2 airframe, plus the ZeroMQ transport that carried messages between its onboard systems.
- Placed 2nd of more than 40 teams at the Aerial Evolution Association of Canada, 2025
- Built an autoencoding denoiser on an RRDBNet backbone trained adversarially, feeding cleaner frames into the detection model downstream
- Applied transfer learning to YOLOv8 to isolate infrared emission in live flight, improving detection accuracy by an estimated 27%