Stanford University

M.S. Computer Science, Human-Computer Interaction
B.S. Computer Science, Systems




Overall front-end lead for 50+ engineers working on chat network unification between Google Hangouts and Google Chat. Overall lead for 40+ engineers working on Chat for consumers.

Managed a team of 20 engineers (including 2 managers) responsible for Google Chat on web. Additionally, set the direction and lead all Chat core features across client platforms.

Led the integration of Google Chat into Gmail to grow enterprise chat market share. Foundational for the evolution of Gmail centered around real-time team communication. Authored / reviewed all technical designs and guided the overall engineering effort of 13 engineers.

Landed multi-year project to overhaul Gmail Web with a completely new data layer, Material design UI, and popular Inbox features like Snooze. Led a team of 7 web engineers to ramp up on a legacy code base. Culminated in a well-received public launch with praise from Google’s CEO and widespread positive media coverage.


Designed, built, marketed, and sold enterprise SaaS contracts for a real-time search intelligence platform. Helped search-focused companies collect, analyze, and visualize search data to increase user engagement and site revenue.

Acquired by Algolia in March 2018.


Designed, built, and evangelized the technical direction for Chegg’s front-end teams across web and mobile platforms. Led technical integration and communication in strategic partnerships with Coursera, Arizona State University,, Facebook.

Introduced standards, and worked closely with engineers to drive adoption. Successful examples include Chegg's unified authentication service, style guide, JS modules, and REST API framework.

IPO November 2013.


Led front-end architecture and development for CourseRank, an academic planner and course review system used by over 95% of Stanford’s undergraduate students. Scaled the service into a platform for over 1500 universities.

Acquired by Chegg in July 2010.


Built and deployed three projects during a 3-month summer internship:

  • Company-wide tools registry
  • Environment diff tool
  • Diagnostics monitoring UI for critical services.

Stanford University

Pathway knowledgebase verification, RDF and SPARQL queries in Java.

National Institute of Standards and Technology

HIV Structural Database, substructure classification, Protease/RT gallery.

National Institutes of Health

Kino T, Liou SH, et al. (2005) Glucocorticoid Receptor Mutants Demonstrate Increased Motility Inside the Nucleus of Living Cells. Molecular Medicine. 10 (7-12): 80-88. [publication]

University of Maryland Biotechnology Institute

Quantitative structure-activity relationships, application of statistics to drug design.



Sudoku-like puzzle game created with jQuery and backbone.js. Features variable board sizes, 11 preset difficulty levels, dark mode, local saves, and customizable seeds.

Top result for "picross" on Google search with 50k+ sessions per month.

Bitbucket Contributions Calendar

GitHub-style contributions calendar for Bitbucket. Data sourced from Bitbucket user's RSS feed.

Puzzle Prototype

Match-3 puzzle game built in one afternoon, using assets from iOS/Android title Tower of Saviors. Built as an exploration into responsive rendering and cross-platform mouse/touch/MS pointer events.

JIRA Tracker

Client-side JIRA tracker using JIRA's REST API over JSONP. Search by issue or label, and see all parent tasks, subtasks, and linked issues sorted by project. Dynamically filter issues by status.

Shadowrift Randomizer

Simple randomizer for the cooperative deck-building game Shadowrift.

Planning Poker

Task sizing tool used for engineering sprint planning. Users cast their votes individually on any web-enabled device, while the projected screen aggregates the results.

Photo Storm

Social game where players post interesting images, aiming to beat ideas presented by their peers. The game results in a stream of images, each besting the one before it.

Maps Mashup

Google Maps and Facebook API mashup built in 4 hours at Google's HTML5 hackathon. Plot your friends on a map, filter with a lucene index.

UX Survey Framework

Framework designed to collect responses from users viewing website screenshots side-by-side. By altering sections of the website, this framework gathers users' first impressions, and gives an approximation of user acceptance.

I <blank> Palo Alto

Civic engagement project for the city of Palo Alto. Webapp focused on the posting of short feedback snippets about the city. Product design was guided by numerous interviews with city hall officials and residents.

Liou Family Tree

Digitized all 95 generations of my family's genealogy into an online interface. Quickly search by name/generation or browse a heirarchical tree of ancestors.


iPhone webapp built on top of Logitech's SqueezeCenter API. Wirelessly control music playback on multiple clients from a centralized media server. Music follows the user via RFID readers, cross-fading between speakers as the user moves to different rooms.


Web-based collaborative visual brainstorming application prototype. Awarded "Best Design and Aesthetics Award" by industry judges from Google, Yahoo, and other companies.


JS event visualization

Demonstration of various JavaScript event properties.

Frontend Checklist

List of best practices to consider when building frontend interfaces at Chegg.

Starry Night

CSS3 box shadow painting creation using HTML5 canvas image data.

3 Easy Steps to Becoming a Web Font Guru

Chegg engineering blog post: a quick-start guide for using web fonts on your own website.

Jenkins Visualizer

Follow the path of a Jenkins build through a cheerful cartoon world animated in CSS.

Test account generator

Bookmarklet to generate and auto-fill test account details for websites.

JavaScript chat-bot

Basic client-side chat bot framework.

EAT Club filters

Bookmarklets for filtering EAT Club menu options.