Vimeo Staff Picks

JavaScript/CSS, Freelance, April 2015

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

Check it out.

UX Design Exercise

JavaScript/CSS, Freelance, April 2013

Coded a web interface that has multiple user interactions.

Check out the project. (Hover mouse on left/right side of page.)

SPH Multiple Fluids Simulation

C++, CIS 563 Physically Based Animation @ Penn, April 2013

Implemented a fluid simulator along with my teammate Adair Liu based on the paper Particle-Based Fluid-Fluid Interaction.

I was responsible for implementing obj loader, porting to Maya and rendering.

Video - OpenGL grabscreen

Video - The one with a cow

H2GO Collapsible Bottle Design

Design/Prototype, Product Design @ Wharton, April 2013

Designed, prototyped and marketed a collapsible water bottle product. The prototype was modeled in Maya and then 3D printed. I initiated the idea, led the design and making of the prototype and the sell sheet.

My teammates were Austin Levitt, Lakshmi Boorgu and Guansen Zeng.

Physically Based Smoke Simulation

C++, CIS 563 Physically Based Animation @ Penn, March 2013

Implemented an incompressible fluid simulator with a Semi-Lagrangian approach based on Navier-Stokes equations. The material that I referred to was Fluid simulation: SIGGRAPH 2007 course notes.

Physically Based Cloth Simulation

C++, CIS 563 Physically Based Animation @ Penn, February 2013

Implemented position based dynamics for cloth simulation based on the paper Position Based Dynamics [Muller et al 2006].

Watch the video.

Physically Based Jello Simulation

C++, CIS 563 Physically Based Animation @ Penn, January 2013

Implemented a 3D mass-spring particle system to simulate jello animation.

Process included Forward Euler and Midpoint integration, collision detection, importing and rendering in Maya.

Watch the video.

Personal Website - Wanderlust

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

Designed and created my personal website in 3 weeks and was obsessed with the process.

Education Website - ICLTS

Ruby on Rails/CSS/Jquery, Freelance, January 2013

Designed and created the International Chinese Language Teacher Society website for my friend.

Ray Tracer

C++, CIS 560 Computer Graphics @ Penn, December 2012

Implemented a 3D ray tracer from scratch in C++.

Process included creating a 3D scene graph, creating primitives (sphere, cube, cylinder) and meshes (surface revolution and extrusion), and implementing the ray tracer using the modified Phong shading model. The ray tracer can render reflectivity, transparency and refraction.

Volumetric Renderer

C++, CIS 560 Computer Graphics @ Penn, 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.


Maya, COMM 564 Digital Image @ Penn, December 2012

Made a short animation introducing the scientific concept Flatland and 4D space.

I created the storyboard, did the voice over, made the Maya animation and composed in After Effects.

The main purpose of this project was to illustrate and communicate the concept clearly.

Watch it here.


Unity3D/C#, CIS 568 Game Design Practicum @ Penn, December 2012

Designed and developed a physically based game with my classmates Tiju Thomas and Zakiuddin Shehzan Mohammed.

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#, CIS 568 Game Design Practicum @ Penn, September 2012

Designed and developed a game with Unity3D.

Process included implementing the classic Asteroid game following a tutorial, coming up with a new gameplay based on Asteroid, and then implementing the new gameplay.

I was responsible for every aspect of the game including art, sound and coding. It was a lot of fun.

Watch the video.


Ruby on Rails/jQuery/CSS, Front End Developer Intern @ Betterific, Fall 2012

Betterific is a start up company that focuses on innovation, user experience and crowdsourcing. I worked with Micha Weinblatt (CEO) and Brad Cater (CTO).

Visit the website.


HTML/CSS/Javascript, CIS 700 Human Computer Interaction @ Penn, August 2012

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

See the prototype.


HTML/CSS/JavaScript/jQuery, UX Designer Intern @ Invidio, 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.

Work samples: landing page | image1 | image2

LIDRA Maya Plugin

Maya C++ API/MEL, CIS 660 Advanced Computer Graphics @ Penn, May 2012

In this project me and my teammate Aparajith Sairam implemented a Maya Non-Photorealistic Line Drawing Tool based on SIGGRAPH 2010 paper: Programmable rendering of line drawing from 3D scenes [Grabli]

I was responsible for implementing GUI and rendering effects.

Watch presentation video.

Maya Lighting Experiment

Maya, FNAR 646 Advanced 3D Modeling @ Penn, May 2012

I followed Six Tuts on Light and Shade tutorial to learn Maya lighting techniques as well as did some experiments by myself.

Physically Based Rigid Body Simulation

C++, CIS 563 Physically Based Animation @ Penn, March 2012

Implemented rigid body simulation with C++.

Computer Animation

C++, CIS 562 Computer Animation @ Penn, December 2011

Implemented curve editor, BVH player, particle system, behaviour model in C++.

Treasures of the World

Photoshop/Maya/O3D, Virtual Reality and HCI Lab @ SDU, 2010

We created an O3D-based online learning environment.

I was responsible for game design, modeling and UI.

CG & Animation


UX & Front End

Art & Design