My headshot


I am proud to announce I have recently joined Airbnb as a software engineer. Updates to follow.

Prior to Airbnb, I was director of engineering—and a founding software engineer—at LearnUp, a startup whose mission was to enable job seekers to learn the skills they need in order to get hired. I am glad to announce that LearnUp has been acquired by Manpower Group.

Longer ago, I was a software engineer at Lexity (since acquired by Yahoo!), helping small to medium sized businesses manage the complications of online advertising. While at Lexity I worked on automated advertising algorithms, built large portions of the website, coded the foundations of the Commerce Central API and co-wrote the Live Sales app which was featured at LAUNCH 2013.

I nearly got my Ph.D. in Stanford's ICME department, but decided to leave with my M.S. and an all-but-dissertation status. My academic interests have included interactive data analysis, complex network analysis, statistical prediction, pattern recognition, and mathematical modeling of social behavior.


Take Your Money Elsewhere, LLC –

A Chrome Extension/Firefox Add-on for Socially Conscious Consumers

Personal Project, released March 2017.

Taking inspiration from the Grab Your Wallet Boycott, I decided to make a browser extension that would help consumers identify when they were visiting websites of Trump-affiliated companies. Users of the extension are given options to take actions on said websites: contacting the companies, shopping elsewhere, buying Trump-offset credits, or dismissing the alert.

Trajectory Flow –

A Tool for Exploratory Data Analysis of Trajectory Data

Stanford Univ., Spring 2011, Class Project for CS448G, taught by Jeffrey Heer

Trajectory Flow is an interactive tool for exploratory data analysis of space-time trajectory data, where each location and timestamp is associated with a sensor id. Trajectory Flow breaks the cycle of creating ad-hoc scripts to visualize different cuts of the data, providing tools for filtering and analyzing the data while guided by a user; furthermore, its import and export tools allow for simple collaboration between multiple data analysts. The author details a potential use case, wherein Trajectory Flow is able to identify locations in the vicinity of Stanford University where people spend the majority of their time around the holiday season. User studies are necessary to evaluate the effectiveness of certain design decisions as well as to determine which tools should next be added to the system.

Itinerary Builder –

Stanford Univ., Fall 2010, Class Project for CS448B, taught by Jeffrey Heer

Building an itinerary is a difficult task. One has to research information about all destinations in consideration, determine which of this information is relevant to their personal preferences, and then use this information to decide on whether each location makes the final cut. Furthermore, the decision on whether to visit a given city or region involves information that is disparate, including at least point of interest descriptions, transportation schedules and weather information, and involves a considerable amount of work in the planning stage.

The goal of this project is to create an interactive visualization that helps users explore the space of all possible travel itineraries to better inform their vacations. In some sense, Itinerary Builder is a heuristic human-guided solver for the Traveling Salesman problem. The user has access to an interactive map and a representation of their current planned itinerary. Controls are provided that allow the user to add and subtract destinations from their itinerary, and as they change the details about their trip the map dynamically updates with a geographically embedded representation of the path of the cities that will be visited along this itinerary.

Selected Research Endeavors

Network Analysis

The Two Dimensional Anisotropic Ising Model as Paradigm for Repeat Protein Folding Behavior

Yale Univ., Fall - Spring 2007, Physics Intensive Senior Thesis, advised by Simon Mochrie (Group Information)

TPR protein structure is only a function of nearest-neighbor helix interaction. Accordingly, we look to the analogous nearest-neighbor Ising model to quantify the folding behavior of TPR proteins. Previous research has demonstrated the efficacy of a one-dimensional model in which the spin state (±1) corresponds with the folding behavior, where spin-up corresponds to a folded helix and spin-down to an unfolded helix.

This paper explores the possibility of extending previous work into a second dimension. Currently, the one-dimensional model cannot take into account the fact that each helix in the repeat structure can be simultaneously folded and unfolded. By allowing each amino acid comprising the helices to assume its own spin state, then it is easy to account for this. A two dimensional model would also extend the biological relevance of this computational paradigm for studying protein folding.

Statistical Prediction

What Makes a Nobel Prize Winner in Physics? Classification on the Citation Network:

Yale Univ., Spring 2007

The Physics citation network indicates the relationship between scientific publications. The bibliographic data can be viewed as a graph, with papers as nodes, and citations as directed edges from one paper to another. Given a chunk of the citation network, we can use measurements (number of publications, number of citations, h-index, etc.) to define an author's status in the scientific community. Classification techniques are then used in an attempt to identify the Nobel Prize winning authors. Out-of-sample cross validation error indicates that the most successful learning method, a linear kernel support vector machine, will misclassify approximately 37% of the authors.

Cluster Analysis

Skeletonization Via a Biologically Motivated Data-Driven Process in Digital Binary Shapes:

Yale Univ., Spring 2007

The recognition of object skeletons allow complicated object recognition algorithms to work on smaller input data. This paper proposes a novel technique that uses a self-organizing feature map in order to find these object skeletons. Because self-organizing feature maps preserve topology, we train the network with object coordinates. By imposing links between neurons, which we selectively delete over the network convergence phase, we show how to devise a skeleton from a self-organizing feature map. This technique requires no a priori object-identification, and may be performed on noisy image data. This new model is both biologically relevant and computationally efficient.

Sociological Modeling

Urban Sprawl - Modeling the Morphology of US Cities:

Yale Univ., Spring 2007, Applied Mathematics Senior Thesis, advised by Daniel Spielman

This thesis extends a long tradition of research within the urban studies and economics communities. The belief that some simple forms may underlie the very nature of a city's structure inherits directly from this discourse, whose standard urban model suggests that cities are generally radial with an exponential decay in population density from the city center. Though this model is not always accurate, it has been shown to hold for many cities. More importantly, even the existence of this model allows for investigations into which kinds of cities follow the observed patterns (and which do not) and why.

We explore the vast effort that has been put forth both to challenge and to defend the standard urban model, and reconstitute the work of some other theorists to put forth alternative measures that might characterize city morphology. We take these concepts to derive a set of metrics for a given city, using these metrics to analyze over 150 of the cities of largest population in the United States, with geodata provided by the 2000 Census.

Three stochastic models of city morphology are discussed at length and then analyzed according to the defined metrics. The first two originate in the literature: diffusion limited aggregation assumes that households settle at the location where a Brownian motion walk started from a distance reaches the city's frontier; correlated site percolation meanwhile assumes that deposit according to fluid flow on a regular lattice with some autocorrelation. The third method proposed by the the authors is to define a city as the connected component of a slightly sub-critical bond percolation process. What may be the most important feature of our bond percolation model is the ease by which it may altered to incorporate geographical constraints upon the city generation process, a consideration not well explored previously.

To answer the question of which model is best, we take as training observations the simulated cities that each model has produced, and we perform a data classification example on the test set of cities as given by US Census data. If a sizeable majority of actual cities are classified to one the group of cities constructed by a given model, then we can say (albeit with some reservations) that this model is better at producing real results.


Travel Photography

Chile, December 2016.

Utah's National Parks, May 2016.

  • Coming soon

South Africa, November 2015.

Italy, Summer 2014.

Ireland and England, Summer 2013.

Bangladesh, India and U.A.E. (Dubai), Summer 2012.

Hong Kong and China, Summer 2011.

Vietnam, Cambodia & Thailand, Summer 2009.

Morocco, Autumn 2008.

Japan, Summer 2008.

"Mega-Trip" Summer 2007, with destinations in Eastern Europe, Greece, and the UK.

  • Coming soon

Food & Cooking

Eating In

  • I really like the DIY aspects of cooking. One of my dreams is to become this man.
  • I built a DIY BBQ smoker and made pulled pork and brisket. Photos and documentation here. [Coming soon.]
  • Inspired by my trip to Japan, I tried my hand at making ramen from first principles. [Coming soon.]

Eating Out

  • I've been very fortunate to eat at Thomas Keller's The French Laundry. I took pictures. [Coming soon.]
  • View photos from my Barbecue Tour of the Carolinas and Memphis.
  • When living in the New York area, I had a mission to eat at all of New York Magazine's "Cheap Eats." To aid me in my quest, I created these Google Maps (see the 2007 Edition or the 2006 Edition—I've been to the restaurants with green place markers.)

Ultimate Frisbee

  • Played for FL-ICME, my Stanford department's intramural team, from 2007 to 2012.
  • Playing for Stanford Prison Experiment from 2007 to 2010. See their website.
  • Played for Yale Superfly from 2004 to 2007. See their website.
  • To find out more about ultimate frisbee, please visit the UPA website.

Curriculum Vitae

Or view my resume.

Work Experience

Airbnb, San Francisco, CA

Software Engineer; June 2017 to present

LearnUp (acquired by Manpower Group), San Francisco, CA

Director of Engineering; March 2016 to February 2017
Founding Software Engineer; May 2013 to February 2017

Lexity (acquired by Yahoo!, Inc.), Mountain View, CA

Front End Engineer; Fall 2012 to April 2013
Back End Engineer; July 2011 to Fall 2012
Intern and part-time employee; April 2010 to July 2011

Yahoo! Inc., Sunnyvale, CA

Advertisement Systems Development Group, Intern; Summer, 2008

Bear, Stearns & Co., Inc., New York, NY

Mortgage Backed Securities Research, Analyst; Summer 2006
Financial Analytics & Structured Transactions, Analyst, Summer 2004 & Summer 2005

YaleCookies, New Haven, CT

Co-founder, Co-president 2004-2007

Siemens Transportation Systems, New York, NY

Research Intern, Summer 2003



MS in Institute for Computational and Mathematical Engineering
a.b.d. PhD in Institute for Computational and Mathematical Engineering

Completed Classes:

  • Numerical Linear Algebra; Numerical Optimization
  • Partial Differential Equations; Mathematical Methods for Fluids, Solids and Interfaces
  • Discrete Mathematics and Algorithms; Information Networks; Molecular Algorithms
  • Multi-Agent Systems; Decision Analysis
  • Probability Theory
  • Stochastic Methods in Engineering; Simulation; Stochastic Simulation
  • Statistical Modeling; Applied Multivariate Statistics
  • Spatial Statistics
  • Data Visualization; Research Topics in Interactive Data Analysis

Teaching Experience:

  • ICME Excellence in Teaching Award, 2010-2011
  • CME200/ME300A (Linear Algebra) Autumn 2008-2009 - TA
  • CME204/ME300B (Partial Differential Equations) Winter 2008-2009 - TA
  • CME200/ME300A (Linear Algebra) Autumn 2009-2010 - Head TA
  • CME204/ME300B (Partial Differential Equations) Winter 2009-2010 - Head TA
  • CME212/ENERGY212 (Large-Scale Computing in Engineering) Spring 2009-2010 - TA
  • CME200/ME300A (Linear Algebra) Autumn 2010-2011 - TA
  • CME204/ME300B (Partial Differential Equations) Winter 2010-2011 - Head TA


Graduated May 2007 Cum Laude
BS in Physics and Applied Mathematics, both with Honors

Selection of Completed Classes:

  • Probability Theory; Statistics
  • Quantum Mechanics; Statistical Mechanics; Classical Mechanics
  • Design and Analysis of Algorithms; Graphs and Networks
  • Stochastic Processes
  • Neural Networks; Computational Vision
  • Data Mining and Machine Learning


Graduated June 2003 Top 1%