Blue Jean Images

Stock photography site and online store for a Beijing-based agency, featuring:

  • Highly customized and accurate faceted bilingual keyword search powered by Apache Solr
  • Integrated multi-currency e-commerce, checkout, and secure downloads
  • Powerful administrative backend tools to manage over 30,000 photos
  • Apache Solr
  • Drupal
  • Drupal Commerce
Pastime Puzzles

Pastime Puzzles

A site to promote a new line of jigsaw puzzles from Winning Moves Games, makers of the Rubik’s Cube.

Powered by Drupal 7 for easy-to-use content management.


  • Drupal
  • PHP

China Decoder

China Decoder provides English translations of interesting Chinese news articles that you might not see elsewhere. The site is powered by a custom Django backend that automatically aggregates content from several Chinese news sources, with a number of convenient tools built into the interface to streamline the translation process.


  • Django
  • Mootools
  • Python

Intranet News Feed

I developed a custom news feed generator for a market research firm in Beijing. Previously, analysts had to manually browse dozens of Chinese news sites every day to check for updates, a tedious and time-consuming task. I set up an in-house server to host the application, allowing analysts to see updates at a glance from their favorite RSS reader, and saving hundreds of costly man-hours.

  • Apache
  • Django
  • mod_wsgi
  • Python


A community DVD sharing and rental site in Beijing. Designed for use by localĀ xiaomaibu, the site provides a convenient admin interface for shop owners to enter DVDs into their system, automatically grabbing bilingual movie data and images via Douban’s API.

Visit MomaDVD

  • Dojo
  • PHP
  • Zend Framework

The Open University of China

I set up and deployed the English website for the Open University of China, powered by Joomla, an open source content management system. My installation is still actively maintained by university staff, with regularly updated content.

Visit the Open University of China

  • Joomla
  • Mootools

The Giraffe Project

To learn how realtime videogames worked, I wrote a side-scrolling platformer in C, entirely from scratch. The game implements a basic physics engine with collision detection, along with sweet effects including parallax scrolling, music and sounds.

Press play to see the game in action.

Source available on Github

  • C
  • GNU Autotools
  • SDL


I pioneered web technology in its pre-Google days with this revolutionary XML-based message board script. It was one of the first to separate data from presentation, a major improvement over Matt’s WWWBoard, the most popular message board script at the time, which saved posts in raw HTML.

XMLBoard on Sourceforge

  • Perl
  • XML::Parser