
Rain got in, heat built up inside, and cables ran everywhere.

Full-Stack Robotics Engineer
I build whole robots, from the mechanical design and electronics to the control software and AI.
Click any section, or scroll through the deck.

I'm a robotics engineer with a Master's from UC Berkeley.
I'm Head of Robotics at Undaunted, where we run the largest robotic security fleet in the US. Before that, I wrote the path planning for a fleet of autonomous sailboats that map waves so cargo ships can steer around them.
I like working on the whole robot, from the chassis to the code, in a small team that moves quickly.




Our robot dogs patrol apartment complexes and charge in a hub on site. The first hubs were plywood boxes that overheated, and the payload was a Ring doorbell strapped to the robot’s back.
Prospects saw a prototype and deals stalled. I designed the production hub, now 160 in the field, which together with our own payload helped unblock about $620K in stalled deals.


Rain got in, heat built up inside, and cables ran everywhere.

Weatherproof and air-conditioned, with a door that opens itself when a patrol starts.


We drove the robot through a Ring doorbell camera, so prospects assumed we were still prototyping.
Designed in CAD
On patrol
Runs through our own dashboard and looks like a finished product.
Our robot dogs only lasted two hours on a charge, which isn’t long enough to patrol large estates, depots or warehouses.
I took the rover through three builds in five months. A converted toy proved the idea, my own chassis broke in the field, and the third, built on a go-kart platform, is the one now patrolling Atlanta.
01
02
035 mo
From toy to deployed product
150
Robots in the fleet, ~15 of them rovers
96%
Fleet uptime
#1
Robotic security fleet in the US

Cargo ships burn up to 30% of their fuel pushing through waves. We're building Google Maps for the ocean so they can route around them.


The boats run on wind, and no sailboat can sail straight into it. My ROS2 planner works out a route anyway.

It sailed itself 2.3 km up SF Bay and back.
Fully autonomous, upwind and downwind. We built 50 boats and field-tested 18.

Testing on the water was slow and expensive.

Our sensor data was too noisy to steer the boat with.



2nd place at the Mach22 national competition.
It was our first entry. Some of the teams we beat had spent up to 3 years on their rockets.
The goal
What I did


Lab tests showed the shaking would ruin the footage. Our spring-catch locks the GoPro in place once the payload deploys.



My proudest project. I helped start UCL Rocketry independently after the university declined to back us. It has since grown into UCL's most successful engineering team, with podium finishes at Spaceport America and several European competitions.
An energy-efficient running quadruped for search and rescue.

What we did

The reward wasn't just “go fast”
A gait 44% faster than Boston Dynamics' Spot.
It covered 23 m in 10 s in simulation and stayed stable the whole way.
Bad form is a common cause of training injuries, and most people only notice once something hurts.
We built a swimming coach and a weightlifting coach on the same embedded hardware. Both vibrate to correct your form mid-exercise.


Two prototypes
01Prototype · Swimming
02Prototype · Weightlifting
How it works


System architecture · swimming build
View the firmware on GitHub →2× MPU6050 IMUs
head pitch + body roll
shared I²C · mutex-guarded
ESP32 · FreeRTOS
4 tasks: sense ×2 · telemetry · command
threshold breach → PWM
4× vibration motors
buzz the side that drifted
queues → Bluetooth SPP
Python GUI
live view · commands back
We also tested the business
156
Customer interviews · NSF I-Corps
2
Signed letters of intent
1
Draper University accelerator offer
We were five Berkeley MEng founders who’d worked at SpaceX, Tesla, Lockheed Martin and Samsung R&D. Read the pitch deck →
Why we stopped
The tech worked, but we’d built it around an idea that wasn’t worth pursuing. The interviews made that clear, so we shut it down rather than keep building.
It only reads out signs it's 80%+ sure of, says the most important one first, and won't repeat a sign within 10 s.
84.4% mAP · 0.81 F1
Beat Meta's benchmark on a harder global, 63-class dataset. Graded at the equivalent of a 4.0 GPA.
Inference
~15.5 FPS
Unseen test
0.711 F1
The drivers most at risk are the ones missing the signs.

A custom YOLOv5 pipeline in PyTorch
Data prep
Model development
Testing and narration

100k
Training images
401
Raw sign classes
270
GPU hours post-opt
31
Hyperparams tuned

