Computer Science
← All projectsInteractive UR5 Demo: Hand Tracking
A UR5 robot arm that mirrors hand movements in real time using MediaPipe hand tracking. Built in ~6 hours; uses servoL (velocity mode) for smooth following. Next goal: make it fist-bump.
2026
Extracting Cognitive SLUMS Scores from VA Clinical Notes
Rule-based NLP pipeline to extract Saint Louis University Mental Status (SLUMS) scores from ~3 million unstructured VA clinical notes. 83% accuracy, 99% precision, 20,000+ notes/minute on a single laptop. Presented at GSA 2025.
2025PhD Thesis: NLP for Uncovering the Illicit Massage Industry
PhD thesis (Harvard, Sep 2023) applying NLP and finetuned BERT models to classify online massage parlor reviews, enabling geographic analysis of illicit activity to support counter-trafficking research.
2023
Robot Arm Assistant: Voice + Vision Cube Pickup
A 6-DoF robot arm assistant that picks up cubes using ArUco tag detection and color thresholding in OpenCV, with voice interaction via Mozilla TTS and Vosk speech recognition.
2022
Sampling-Based Path Planning Algorithms
Implementing and evaluating RRT and PRM motion planning algorithms from scratch in Julia, with analysis of how clutter affects success rates. Rotation project reviewing FMT*.
2020
Ocean Buoy Path Planning Simulation
Using public ocean current data to build a simulation framework for testing motion planning algorithms on autonomous ocean buoys. Solo contract work in Python, Pandas, and Folium.
2020
Digger Finger: GelSight Tactile Sensor
A miniature wedge-shaped GelSight visual-tactile sensor specialized for identifying objects buried in granular media. Published at ISER 2020. Featured on MIT News.
2020
ICRA Paper: Six-Axis Force-Torque Sensor
My paper on designing an inexpensive six-axis force-torque sensor was accepted to ICRA 2020. 🎉
2020
Robot Compiler (RoCo) Website Redesign
Redesign of the UCLA LEMUR Lab RoCo webapp to use Bootstrap for mobile/desktop responsiveness, plus bash/Python/OpenSCAD scripting to generate STL thumbnails for the carousel.
2019
6.832: Inertia Wheel Inverted Pendulum
Using a flywheel to balance an inverted pendulum. LQR and region-of-attraction analysis in simulation; swingup and stabilization on real hardware using PD and bang-bang control. MIT Underactuated Robotics.
2019
CS279r: PaperSignals Parameterized
An open-source browser-based UI (Python/Flask) for customizing Google's voice-controlled printable paper robots. Harvard PL/HCI Graduate Seminar.
2018
CS223: Credit Community Graph Algorithms
Investigating trust-score propagation in social lending networks to establish creditworthiness without traditional data. Harvard Random Processes and Algorithms.
2018
Portfolio Website
Used static site generator Hexo to build my portfolio website
2018
Wifi-Enabled Robots
ESP8266 two wheel-drive robot, serving webpage with controls using SPIFF and websockets, and same for Roomba (over serial interface).
2016
Staubli Robot Arm Drawing
Staubli robot arm, programmed to stipple with vcode -> gcode -> processing (or alternatively via SVG Inkscape to gcode converter).
2016
6.01x Robots
Created $200 robots to replace 6.01 robots, which cost several thousand dollars.
2014
Strobe Lab: Schlieren Technique
For 6.163 Strobe Lab final project, attempted to implement : Background-oriented schlieren imaging
2012