← Back to main

Projects

Things I've built and contributed to. Click on a project to learn more

Portfolio Website

This site! A timeline-driven personal portfolio with scroll-linked parallax, a space theme with starfield and rocket cursor, smooth scrolling, and a floating nav. Built from scratch.

Next.jsTypeScriptTailwind CSSFramer MotionLenis
Synthetic Data Pipeline for Bin-Picking Robots

Synthetic Data Pipeline for Bin-Picking Robots

Developed a pipeline that generates labeled synthetic training data from CAD models, replacing costly manual labeling for industrial bin-picking robots. Built with BlenderProc, domain randomization, and Mask-RCNN — achieved AP 100 on the ping pong dataset and AP 73.9 on the package dataset using only synthetic data. Capstone project at UBC in partnership with DaoAI Robotics.

BlenderProcMask-RCNNPythonDomain Randomization
Desktop Point Cloud Visualization Application

Desktop Point Cloud Visualization Application

Built a desktop application for researchers at a major tech company to visualize massive 3D point clouds of a fruit fly brain connectome. The tool used a Python API, Unity, and Potree to render and label datasets of up to 10M+ points with interactive navigation, depth lighting, and eye-dome lighting. Capstone project at UBC Engineering Physics (ENPH 459).

UnityPythonPotreeC#
quickPick — Group Decision-Making App

quickPick — Group Decision-Making App

Built a Tinder-style group decision app where users create or join sessions, swipe on ideas from shared lists, and see ranked results in real time. Android frontend with a Node.js/MongoDB backend and Firebase push notifications.

AndroidJavaNode.jsMongoDBFirebase
Autonomous Driving & License Plate Recognition — 3rd Place

Autonomous Driving & License Plate Recognition — 3rd Place

Built an autonomous simulated car that navigated a course, avoided pedestrians, and read license plates using CNNs and computer vision. Placed 3rd out of 16 teams in UBC's ENPH 353 competition.

PythonROSGazeboKerasOpenCV
greenEats — 1st Place @ nwHacks 2020

greenEats — 1st Place @ nwHacks 2020

Built greenEats, a grocery management Android app that tracks food expiration dates to reduce waste. Users could log groceries via receipt scanning (OCR), voice recognition (Azure Speech Services), or manual input, and get recipe recommendations based on what's about to expire. Won 1st place and the Wolfram Award at nwHacks 2020. Built with Java, Firebase, and Azure.

JavaKotlinAndroidFirebaseAzure SpeechFirebase MLKit
Autonomous Robotics Competition — 3rd Place

Autonomous Robotics Competition — 3rd Place

Led software development for a fully autonomous robot that detected and picked up objects using PID control, IR beacon detection, and signal convolution. Placed 3rd overall.

C++PID ControlSignal Processing