Udacity portfolio
Coursework projects from across four Udacity nanodegrees (Self-Driving Car, Robotics, C++, Deep Learning) plus a few ML/CV one-offs. Each writeup covers what was built, what worked, what didn't, and what I'd change with the benefit of years of hindsight.
21 projects · sources archived on GitHub
Self-Driving Car Nanodegree · 5
- computer visionLane Finding (Project 1)The first SDC nanodegree project — Hough-transform lane detection on highway video with classical OpenCV. Gateway drug to computer vision.
- slam localizationExtended Kalman FilterFuse LIDAR + RADAR with an EKF to track a moving vehicle. C++, uWebSockets, Udacity simulator. The first project where the math actually mattered.
- computer visionLIDAR Object ClusteringFilter ground, build a k-d tree, Euclidean-cluster obstacles. C++ from scratch on PCL — no ML, all classical geometry.
- slam localizationParticle-Filter RelocalizationMarkov localization via particle filter — given a known map and noisy LIDAR observations, estimate the vehicle pose. The first time Bayes felt physical.
- deep learningTraffic Sign Detector (TensorFlow)CNN classifier on the German Traffic Sign Recognition Benchmark — the Udacity SDC project that introduced TensorFlow before Keras was the default.
Robotics Nanodegree · 3
- robotics rosPR2 Perception Pick-and-PlaceROS + PCL stack for the PR2 robot: cluster a tabletop, classify objects with an SVM on color/normals features, generate grasp poses.
- control planningPR2 Kinematics Pick-and-PlaceSolve the PR2's 7-DOF inverse kinematics symbolically, then drive arm-joint trajectories to pick and place objects. Sympy + ROS + tears.
- robotics rosSwarm Robotics ProjectMulti-robot coordination in ROS — N TurtleBots converging to a formation pattern via decentralized reactive control.
C++ Nanodegree · 5
- control planningOpenStreetMap Route Planning (A*)Hand-rolled A* over real OpenStreetMap road graphs in C++. The capstone of the C++ nanodegree's foundations module.
- systems cppConcurrent Traffic Light SimulatorMulti-threaded traffic-intersection simulator in C++17 — the C++ nanodegree's capstone on concurrency, futures, and message queues.
- systems cppLinux System Monitor (htop clone)Parse /proc to build an htop-style live process viewer in C++17 with ncurses. The C++ nanodegree's intro to Linux internals.
- systems cppSnake (SDL2 game)Capstone of the C++ nanodegree foundations module — the classic Snake game in SDL2 + modern C++ with score persistence.
- systems cppMemory-Management ChatbotRefactor a leaky C++ chatbot to demonstrate every smart-pointer + ownership pattern in the language. The capstone of the C++ memory module.
ML / CV (other coursework) · 8
- computer visionpyAprilTag (Python wrapper)Python bindings for the AprilTag fiducial detector via OpenCV's cv2cg, used in a Robot Perception course. A fork, not original work.
- slam localizationORB-SLAM2 (build + experiment)Built and ran the canonical ORB-SLAM2 stack (Mur-Artal et al.) on a custom monocular dataset during a Robot Perception course. Forked the upstream.
- deep learningCaffe PoseNet (fork)Forked the Caffe implementation of PoseNet (regress 6-DOF camera pose directly from a single RGB image). Pre-PyTorch era of CV research.
- deep learningTensorFlow PoseNet (port)Port of PoseNet from Caffe to TensorFlow, also during the Robot Perception course. Same model, friendlier toolchain.
- deep learningPyTorch Tutorial (fork of 莫烦Python)Forked MorvanZhou's PyTorch tutorial repo while learning PyTorch in 2019. The fork mostly served as my notebook running history.
- systems cppSD Embedded — Mini-car firmwareEmbedded C/C++ firmware for a mini self-driving car. PWM, sensor sampling, basic PID — the bottom of the SDC stack.
- data engineeringCodes EverydayA self-imposed daily-coding challenge in 2019 — write or read code every day, log the result. Mostly LeetCode-flavored Python.
- data engineeringChrome Power Toys (community guide)A community-driven Markdown guide to Chrome power-user features. Not coursework — a 2025 weekend writeup that never grew legs.