Welcome to my personal page. Currently, I lead the Core Representation Learning team at Stitch Fix.

Previously, I obtained my PhD at Stanford working with Ramesh Johari. My interests are at the interface of statistics, mathematics and computer science.


  • Stitch Fix, 2018 - Now

    On the Algorithms team at Stitch Fix I have worked on a variety of machine learning, statistics and opimtization problems. These include:

    • An experimentation framework to deal with spillover effects from inventory constraints.
    • Multiple algorithms based on latent embeddings: similar item search, diversifying recommendations, and generating outfits.
    • Solving large scale optimization problems (distributed in PySpark, and with state of the art commercial solver).
    • Creating a production system that serves Style Shuffle quizzes to clients in real-time.
    • Proposing, running, and analyzing multiple experiments.
  • Stitch Fix internship, Summer 2014 and Summer 2015

    Stitch Fix is reinventing the retail industry through innovative technology. During my two summers on the Algorithms team at Stitch Fix, I worked on improving the recommendation engine that is used by stylists, along with tinkering on some side projects.

  • HP Labs internship, Summer 2013

    HP Labs is the research division of Hewlett-Packard. I worked under supervision of Rob Schreiber and with fellow intern Austin Benson on fault tolerance for the next generation of super computers. We demonstrated that we can make numerical methods resilient to silent errors at negligible cost by using mathematical properties of the methods. This has led to the publication of Silent error detection in numerical time-stepping systems.


  • PhD Computational and Mathematical Engineering, 2018

    Advised by Ramesh Johari

    Stanford University

  • MASt Mathematics, 2012

    University of Cambridge

  • BSc Econometrics and Operations Research, 2011

    University of Groningen


Blog posts


  • CME 193 Introduction to Scientific Python

    Instructor for a one-unit introductory course on Python multiple times. We cover the basics of Python, and dive deeper into the mathematically oriented libraries, such as Numpyy Scipy and Matplotlib. We also cover modern tools, such as the Jupyter Notebooks.

    Material of the course is available on the course website and github.

  • MS&E 226 Small data

    Teaching assistant for the excellent course on “small” data taught by Ramesh Johari.

  • CME 106 Introduction to Probability and Statistics for Engineers

    Teaching assistant for a first course in probability and statistics for engineering students at Stanford.

    A review of the probability theory taught in the class can be found here.

Side projects

  • I submitted a bot to the Halite artificial intelligence competition which finished in the top 3%.

  • Here is a collection of some Jupyter notebooks for fun little projects. For example, there is a notebook to help me fill out my March Madness bracket by modeling basketball outcomes using Stan.