EBU R128 Audio Meters

C++, April 2018

Implemented the EBU R128 Audio Meters which include a LUFS loudness meter for stereo and 5.1 channels, phase meters for stereo, true peak meters, and a loudness computation tool. Designed and implemented the GUI. One of the algorithms implemented was BS.1770 : Algorithms to measure audio programme loudness and true-peak audio level.

Hit the Snowman

Unity, Google VR SDK, October 2017

Designed and developed a VR game. You throw snow balls at snowmen. It's Christmas! Designer: Bobby Chang.

Vimeo Staff Picks

JavaScript/CSS, April 2015

Designed and developed a web interface that displays Vimeo's staff picks videos using the Simple API.

See it live.

UX Design Exercise

JavaScript/CSS, April 2013

Coded a web interface that has multiple user interactions.

See it live (Try hovering mouse on the left or right side).

SPH Multiple Fluids Simulation

C++, April 2013

Implemented a fluid simulator based on the paper Particle-Based Fluid-Fluid Interaction. I was responsible for implementing obj loader, porting to Maya and rendering. Teammate: Adair Liu.

Watch the video - OpenGL grabscreen | The one with a cow

Physically Based Smoke Simulation

C++, March 2013

Implemented an incompressible fluid simulator with a Semi-Lagrangian approach based on Navier-Stokes equations. I referred to the paper Fluid simulation: SIGGRAPH 2007.

Physically Based Cloth Simulation

C++, February 2013

Implemented position based dynamics for cloth simulation based on the paper Position Based Dynamics.

Watch the video.

Physically Based Jello Simulation

C++, January 2013

Implemented a 3D mass-spring particle system to simulate jello animation. Implemented Forward Euler and Midpoint integration, collision detection; imported and rendered in Maya.

Watch the video.

Personal Website - Wanderlust

HTML/CSS/JavaScript, Processing.js, February 2013

Designed and created my personal website.

Education Website - ICLTS

Ruby on Rails, jQuery, CSS, January 2013

Designed and created the International Chinese Language Teacher Society website for a startup.

Ray Tracer

C++, December 2012

Implemented a 3D ray tracer from scratch in C++. Created a 3D scene graph; created primitives (sphere, cube, cylinder) and meshes (surface revolution and extrusion); implemented the ray tracer using the modified Phong shading model. The ray tracer can render reflectivity, transparency and refraction.

Volumetric Renderer

C++, September 2012

Implemented a volumetric renderer from scratch and then generated some nice clouds with it. Used a voxel buffer data structure to store voxels and implemented ray march process which gets data from the voxel buffer. Used Perlin noise to generate clouds, pyroclastic, cottons and cloudy sky images.


Unity3D, C#, December 2012

Designed and developed a physically based game with my teammates. Bounzzz is a 2D side scroller arcade style game. The player is given a ball which he has to balance and not let it fall on the ground. I was responsible for game art, UI design and development.

Watch the video.

Planet Maker

Unity3D, C#, September 2012

Designed and developed a game based on the classic Asteroid game.

Watch the video.


Ruby on Rails, jQuery, CSS, Fall 2012

Betterific is a start up company that focuses on innovation, user experience and crowdsourcing. I worked with the CEO and CTO to define requirements, design user experience, and develop website.

Visit the website.


HTML/CSS/Javascript, August 2012

Designed, developed and tested a UI prototype for a gesture based drawing tool using HCI methods.

See it live.


HTML/CSS/JavaScript, Summer 2012

Invidio is a start up company that provides interactive video experience. I worked with the CEO, CTO and a group of back-end developers.

See samples: landing page | image1 | image2

LIDRA Maya Plugin

Maya C++ API, MEL, May 2012

Implemented a Maya Non-Photorealistic Line Drawing Tool based on SIGGRAPH 2010 paper: Programmable rendering of line drawing from 3D scenes. I was responsible for implementing GUI and rendering effects.

Watch presentation video.

Physically Based Rigid Body Simulation

C++, March 2012

Implemented rigid body simulation.

Computer Animation

C++, December 2011

Implemented curve editor, BVH player, particle system, behaviour model.

Treasures of the World

Photoshop, Maya, O3D, 2010

Our team created an O3D-based online learning environment. I was responsible for game design, modeling and UI.

Computer Graphics

Game, VR, AR

Web, UX