Here you will find pictures, videos, and sounds from some of my technical work over the years. For each project, I have included a brief description and overview of the technical skills I used.

Academic Projects


Final challenge for 6.141, Robotics: Science and Systems. Programmed a robot to escape an initially unknown labyrinth environment.

Python, ROS

ELDER Communication/Visualization

16.83 Space Systems Engineering: Developed 3D assets, video script, music, and voiceover for promotion of the ELDER mission concept (Enceladus Life Detection, Exploration, and Reconnaissance).

Blender, Unity, Ableton

Wings for RC plane

This RC plane was built for the annual Unified Flight Competition. I was responsible for the wings and my teammates were responsible for the fuselage and electronics. The plane's geometry was optimized for stability using a brute force algorithm.

Foam cutter, epoxy, Python


Programmed a robot to race autonomously around a GPS-denied tunnel loop with a length of ~150m. Succeeded with no collisions with a time of 37.7s.

Python, ROS

Public outreach for space exploration

Delivered a lecture and Q&A on space exploration at the International School of Sosua in the Dominican Republic, focusing on ocean worlds in our solar system, and the science/engineering required to carry out ocean world missions

Rotating scene mount for REIF-SAT

REIF-SAT is a concept for an earth-imaging telescope with a rectangular spinning mirror, as opposed to a circular stationary mirror. In order to simulate the rotation for testing, we used a rotating scene mount. I was fully responsible for the fabrication and testing of this component.

Arduino, MATLAB

Full optics testbed for REIF-SAT

The setup consists of the scene mount, a collimating telescope, a receiving telescope, and a camera. More details can be found in the design document.

MIT Aerospace Controls Lab


Mapping a simulated environment

This is a simulation of a small racecar in an environment which corresponds to part of MIT's network of underground tunnels. The racecar is equipped with a laser scanner. I transformed these laser scans according to odometry data and combined them into a composite map.

ROS, Gazebo, PCL, C++


Point cloud registration

These two point clouds of a stove are captured in a Gazebo environment by a simulated Kinect camera. I run them both through a pipeline which extracts SIFT keypoints and FPFH features to align them with each other.

PCL, C++


Small quad-copter

This was the first drone I built. The parts were mostly from a kit, and the construction was relatively simple.

Medium quad-copters

We needed drones which were large enough to support an onboard GPU, so I built a few of these. The construction was a little more complicated, with custom frames and a lot more soldering involved.

Opera of the Future


Audio-responsive visual accompaniment

This program takes audio input and creates visuals which respond to frequency and amplitude. This video was taken during a performance by Chilean pop-star Francisca Valenzuela.

Processing, Java

Randomized performance

This plugin takes MIDI input and randomly transposes it up or down within a set interval. The idea is to prevent the performer from thinking in terms of harmony, and rather focus more on contour and intensity.

MaxMSP, Ableton Live