Experience

TensorBoard (2017)

During the summer of 2017, I worked on TensorBoard, TensorFlow’s built-in data visualization and model debugging tool. I designed and implemented a flexible plugin system for TensorBoard: with this system, researchers can easily create and share domain-specific visualizations, enabling them to focus on the salient parts of their data and derive insights as productively as possible.

Because TensorBoard is open-source, you can play with it yourself or directly look at my contributions. You can also read a Google blog post about the new API, written by some of my teammates (after the end of my internship).

Khan Academy (2016)

During the summer of 2016, I returned to Khan Academy, working on the infrastructure team. I spent most of my time on a extended effort to improve our site’s internationalization by giving translators more power to curate content instead of just translating it.

In particular, much of this involved making changes to our content infrastructure to enable us to store and serve multiple versions of our content simultaneously. This was a somewhat tricky task, because it required changing the fundamental data structure that underlies the whole site, and so required careful attention to performance, memory usage, server costs, and reliability and resilience, among others.

Khan Academy (2015)

During the summer of 2015, I worked at Khan Academy on a few web frontend and backend projects. Specifically, I
  • added support to our CMS for content creators to upload custom thumbnails, implemented server-side compositing of these images, , and used the composited thumbnails throughout our site and on YouTube;
  • productionized and rolled out a new video player, both to grant users more immediate control over the playback (e.g., with a prominent speed selector whose value persists across page loads) and also to lay the ground work for more in-video content in the future;
  • implemented streaks (à; la Duolingo) to encourage deep, exploratory learning as opposed to just-in-time test prep, and to increase user engagement;
  • implemented hot loading of JSX and CSS/Less files to dramatically improve developer productivity by cutting down on iteration time; and
  • improved our content publish process performance by 17%, and then by another 48% by decreasing the complexity of one expensive step from O(n · m) to O(n + m).

We use Python with Google App Engine for our backend, and the wonderful React for our frontend.

League of Creative Minds

I worked with the League of Creative Minds, a Model UN debate organization, from 2011 to 2014, both as a student and as a secretariat member.

As Undersecretary-General of Technology and Innovation, my work included audio/visual setup, networking, communications, and the like. I developed Kiosk to fix some of the problems that I observed, and earned the Model Diplomat award for its creation. I also delivered scientific and technical presentations to students in preparation for debates.

As a student, I was also Head Delegate for two years. I won the Best Delegate award at WEMUN 2011 in Beijing, and the Most Persuasive Delegate award at MUNOS 2011 in Seoul.