Photo Portfolio
ShutterSounds Blog
Resumé (pdf)


» Web Development » Photography » Filmmaking » Writing » User Interface

Web Development


Fantasora Leagues

Fantasora is a game that combines aspects of bingo, drinking games, prop bets, and fantasy leagues with the show Game of Thrones. Players assemble a roster of characthers on the show (through a draft process), and over the course of the season, will gain points for doing Game of Thronesey things like killing people, drinking wine, or saying 'Hodor'.

Demosaic Bayer Pattern Interpolation Demo

Demosaic: Bayer Pattern Interpolation Algorithms Demo

Demosaic is an online web demo dedicated to interpolation algorithms for Bayer pattern image sensors. Virtually all digital imaging devices today make use of a color filter array (CFA) to detect color - this results in individual photodetectors (corresponding to individual pixels in the output image) recording only a single color, and requiring values for undetected colors to be estimated from surrounding pixels in a process known as "demosaicing". A number of different algorithms exist for this, with various tradeoffs in speed, quality, and versatility over different image content.

The various demosaicing and interpolation algorithms are implemented with the GD Graphics Library.

Transitive Champion

Transitive Property Champions (defunct - Wayback link)

Transitive Property Champions is a site that compiles game data for various sports leagues and generates semi-serious "proofs" that a team is superior to all others in the league by the Transitive Property - i.e. if Team A has beaten Team B, and Team B has beaten Team C, we can assume that Team A would also have beaten Team C, and so forth with all other inferior descendants.

AAA Assassins Website

AAA Assassins Website (defunct - Wayback link)

Every semester, UC Berkeley's Asian American Association (AAA) holds a campus-wide game of "Assassins" in which groups of students are assigned to target and "kill" other groups of students. Prior to Spring 2009 the management system for this game was entirely manual - players would email "kills" into a central email account, and game administrators would manually update an online spreadsheet of remaining players. For the Spring 2009 game I created an online system for managing the game, which allows participants to submit kills, and game administrators to approve or reject them. The system also logs all "kills" via a description log and Google Maps kill plot and compiles statistics on the game.

The site is built mostly on php and javascript, with a MySQL backend. It also makes extensive use of the Google Maps API for the kill submission system and "Kill Map", and Open Flash Chart 2 for plotting game statistics.

Pion Personnel Management and Scheduler

Pion Personnel Management and Scheduler

Pion is a personnel management and scheduler application. It was originally designed for use at UC Berkeley's paper, The Daily Californian. The program is designed to optimize scheduling for a staff of freelance workers - the Pion system keeps track of both user schedules and assignments, and can search for users' designated availability based on the time and day of the week of assignment. You can test out Pion on the public site at

Pion is built on php, with a MySQL backend. gallery

Digital Photography Decal (defunct - Wayback link)

I've been teaching a decal course (student-taught courses) called the Digital Photography Decal for six semesters now, since Fall 2007. The Digital Photo Decal is a technical photography course that focuses on the scientific concepts of photography and how the cameras work. I started the course in response to the lack of photography courses at UC Berkeley in general, and specifically the complete lack of any courses teaching digital photography and photography from a technical perspective, rather than an artistic/aesthetic perspective. The site is a major component of the class - it's used to host galleries for students' weekly assignment submissions, as well as a forum and wiki. The site also hosts content for another decal on campus, the Introduction to Photojournalism decal taught by Salgu Wissmath, which has since been integrated into the Digital Photo Decal course. is a simple html site for the most part, with some minor php and javascript used on some pages. The Gallery portion of the site uses a modified version of Gallery 2. The somewhat-abandoned forums use PunBB and the Wiki runs on MediaWiki.


EE119 Optical Engineering Term Paper: An Overview of Color Detection Schemes for Electronic Image Sensors

EE119 Optical Engineering Term Paper: An Overview of Color Detection Schemes for Electronic Image Sensors

ee119 paper (.pdf, 2.17 MB - highly recommend right-clicking and "Save As")

For the final project of the EE119 Optical Engineering course I wrote a term paper overviewing the various schemes that have been devised for color detection in electronic image sensors, which are natively monochromatic. Color detection is one of the most interesting issues in imaging technology, primarily because its development is so incomplete thus far. Various innovative approaches have been tried, but none are without their flaws and the scheme most commonly used today - the Bayer CFA - is perhaps the most flawed of all (it can perhaps be summed up by Churchill: "It has been said that Bayer Color Filter Arrays are the worst form of color detection, except all the others that have been tried").


Electronic image sensors used for nearly all imaging purposes today rely on measuring electrons produced by the photoelectric effect. An inherent limitation of counting electrons produced by the photoelectric effect is that chrominance information is lost. Each measured photoelectron indicates only that a photon was absorbed - current electronic photodetectors have no intrinsic process by which to discriminate absorbed photons of the 400nm wavelength variety (blue light) or the 700nm variety (red light), or any other wavelength in its response spectra, and therefore regards them as the same - thus the basic electronic image sensor is inherently monochromatic. A number of schemes are currently used with electronic image sensors to derive color, each with advantages and tradeoffs. New schemes and modifications of existing ones seek to lower cost; improve resolution and color accuracy; and decrease light-loss relative to the base monochromatic sensor.

User Interface

Info262 TUI Final Project: The WonderScope

Info262 Tangible User Interface Final Project: The Wonderscope

info262 paper (.pdf, 8.42 MB - highly recommend right-clicking and "Save As")

The WonderScope is a tangible user interface (TUI) design project designed and built for the Info262 Tangible User Interface course. It is a "periscope to the other side of the world", retrieving different images as the user moves the WonderScope, thereby changing the source point on the opposite side of the globe for the images that it retrieves. The intention of the WonderScope is to enable users to discover remote locations in a natural, exploratory manner, physically moving a device (and themselves) around rather than simply browsing photos on a website. I collaborated on this with Heather Dolan and David Rolnitzky of UC Berkeley's School of Information.


The WonderScope is a periscope inspired device that allows users to explore images and remote locations as they move. We reference previous approaches to tangible, multi-dimensional image browsing and viewing interfaces and present the motivations for designing our device. We then describe the mechanical and technical implementation of our design. Finally, we close with a preliminary evaluation of our findings and avenues for future exploration.

Info213 UI Development Final Project: Visual Voicemail for Community Health

Info213 UI Development Project: Visual Voicemail for Community Health

info213 paper (.pdf, 0.72 MB - highly recommend right-clicking and "Save As") (3rd cycle prototype)

Visual Voicemail for Community Health was a project developed for the Info213 User Interface Design & Development course. It is a messaging and health record management system primarily aimed at transient patients and the doctors and medical staff who work with them. While a fully-functional version was never built, development of the project went through several cycles of design, prototyping, and user testing, and through the course of the project we investigated the viability of several modes of communication with different capability and access tradeoffs: a full website for use by medical staff, automated phone interface and SMS-based interface for transient patients lacking internet access.


London/Paris Photobook

London/Paris Photobook

Digital PDF copy (.pdf, 64.8 MB - highly recommend right-clicking and "Save As")

I've been working on a series of photobooks of various pictures I've taken - custom book publishing has been a fairly recent trend that's been made viable with digital images, and I think it makes for a much more polished, unique, and appealing product than simply printing out a bunch of 4x6's. So far I've created a photobook from my family's winter 2006-2007 trip to London and Paris, which I published through I'll probably begin work soon on a China book from my family's trip there, and then an East Coast trip book from my visit there this past summer, and after that comes the portrait book which will probably take me a few years to even get all the photos rounded up. I might do a small Boston trip book (spring break 2006!), and if I can get enough creative ideas, a book of Chindogu.


Sealed with a Kiss

Sealed with a Kiss

Sealed with a Kiss is a film project done for the Asian American Association (AAA) of UC Berkeley, part of a series of end-of-semester skits starring each of the club's commmittees. Although I've worked on various films in the past, this is the first "serious" attempt I've done, and my first using a professional-level video camera. The film follows the Public Relations committee while they are stranded on a boat as a real-life game of Mafia unfolds. It was filmed using a Canon 5D Mark II, 24-70mm f/2.8, 50mm f/1.4, and 120-300mm f/2.8 lenses, and was edited in Adobe Premiere Pro CS4.