Hi, I'm Lei.

I'm a Master's student studying Computer Science at Washington University in St. Louis. I love programming and implementing cool ideas. As a big fan of rock music, I love R.E.M., Radiohead and other great bands. I also read classic literature and take part in long distance running in my spare time.


Here are some selected projects I worked in past few years.


CodeMate is a real-time code sharing tool. It is designed for working on coding problems together. On the top-left panel, you can write code with nice syntax highlighting and auto complementation. On the bottom-left panel, you can get the output and check if your code works correctly in the console. The top-right panel is the place you paste your problem, and the bottom-right one is where you and your codemates communicate. This project uses node.js server with socket.io library to achieve high performance, and embeds ACE editor on the front side. Take a try on CodeMate.


Formit is an open-source tool converting plain text to HTML form for web writers. It is both a template language using plain text format to write readable form; 2) a conversion tool written in Python converting formit forms to real HTML forms. You can learn more about formit's syntax and have try with the online conversion tool at its homepage.

Online RSS Reader

Online RSS Reader is a web app with PHP backend. With the use of SPA (Single Page Application) and rich interactions, it creates a comfortable experience for users to read feeds from RSS sources. It supports 3 main RSS formats: RSS1.0, RSS2.0 and Atom. Users can subscribe from selected sources or add any valid sources with a valid URL. This app also provides the feature of the background sync, making sure you can see the latest news any time you log in.


Built with Django framework, njxd.org is a commercial website for a local business in construction field in China. This is an all-in-one platform providing both external homepage and internal ERP system. It helps staffs manage all the data from orders, sales, storages etc., as well as powerful features of analyzing data, assisting the business to make the optimal choice and maximize profits. Apart from this, the platform also has built-in OA system and a completed authentication mechanism. Public website is integrated with responsive layout, and is adaptive to both desktop and mobile browsers.

Fred's Neverland

This is my personal blog starting from July 2013. Got the name from J.M.Barrie's novel, it is the place I keep my thoughts and ideas. The website is built with Django framework and has a clean layout for better readability. In addition to regular blog articles, I also share my timeline and recently read book there. Blogs were mostly written in Simplified Chinese (recently shifted to English), and you can visit it at www.fredsneverland.com. It also has a personal iOS client for me to view and update information.


timeline.js is a tiny jQuery plugin for you to visualize chronological events. This plugin reads JSON data and exports clean timeline graph in SVG format. It supports horizontal and vertical layouts.

Scotland Yard

with Yidong
Scotland Yard is an online version of the famous board game. Built in tornado framework, it provides a real-time experience. This web app makes the use of HTML5 Canvas and creates great UE with rich interactions of some cool HTML5 features. It supports single player mode and multiplayer mode, and also has a map editor. For the single player mode, the game also implemented AI with Expectimax Search.

Heads Up

Heads Up is my own implementation of iOS app introduced in the Ellen's Show by Ellen DeGeneres. It has a remote word bank and always bring joy among myself and my friends at party time.

EZ Note

with Ren and Yiheng
EZ Note is a lightweight iOS note taking application supporting both iPhone and iPad devices. Aiming on quickly note taking, it supports users to compose rich format notes with quick text formatting feature. You can set hot keys for any of the formatting commands if you want. Also, it's very easy for users to add photos or record audio to make multimedia notes. All the notes are organized in different notebooks, and support multiple tags for easy classification.

The Rolling Cube

with Andy, Paras and Yiheng
Inspired from Minecraft, the Rolling Cube also has a setting of world made by cubes. The main character of the game is a cube package, which was accidentally dropped from a delivery truck. The goal of the game is to manage to roll the cube to the end point. Different faces of the cube have different attributes. The cube may find fire, ice, and other obstacles during the trip, and players need to figure out a route to make the use of different types of faces and avoid being killed by those obstacles. This game has over 20 levels with vivid animations and pixel-style textures.

Translation of Lightweight Django

Lightweight Django is a great book discussing using Django framework in a lightweight way written by Julia Elman and Mark Lavin, published by O'Reilly. The book mainly talks on how to make the most of Django’s decoupled design by choosing the components you need to build the lightweight applications you want. It also shows experienced Django developers how to include REST APIs, WebSockets, and client-side MVC frameworks such as Backbone.js into new or existing projects. I was very honored to be chosen by China Electric Power Press to be the authorized translator of this book, and has the opportunity to introduce the great ideas and approaches covered in this book to Chinese readers. The Chinese translation of this book will be published soon.


Here are some of the skills I used to complete the projects above.

Web Front-end


Send an e-mail: