Some of the work I did while a student and instructor at UC Berkeley is showcased below.

CS184: Computer Graphics

Projects for the Computer Graphics course, including a raytracer, bezier curves, and inverse kinematics.

Computational Photography

Projects for the Computational Photography course. Includes many novel photomanipulation techniques, including automatic stitching and face morphing.

Dynamic Viewing

Imagine your computer screen as a window into another world. When you move your head while looking out a window, your perspective on the outside image changes. We can roughly replicate this same effect in 3D applications using head-tracking with the webcam. This hackathon winner and final project is a prototype of this technology, applied to a Minecraft clone. This was my CS280 final project, and the winner of the CSUA 2015 Hackathon.


A project I wrote from scratch for the CS61B students in the Spring and Summer of 2016. It involves building a mapping application with routing and location search functionality, similar to that of popular mapping applications now. Students learn to use industry tools like Maven, web framework and API basics, and algorithms like intersection and collection on trees and A* search. Full autograding is included client-side and staff verification systems are run using a Docker image built on Octobear2.