Teaching
- Spring 2018: Teaching assistant for Introduction to Optimization (ENGR 62) at Stanford University.
- Autumn 2017: Teaching assistant for Introduction to Optimization (Accelerated) (ENGR 62X) at Stanford University.
Internship
- Summer 2015: Software engineer intern at Apple, working on WebKit and a WebAssembly prototype.
- Spring 2015: Software engineer intern at Google, working on Wear OS and a crawler for Google Play Store.
- Summer 2014: Research intern at Stanford University School of Medicine, working on bioinformatics software for identifying genomic structural variants.
- Summer 2013: Software engineer intern at Google, working on Google Chrome test automation frameworks.
- Summer 2012: Software engineer intern at Google, working on WebKit and HTML5 feature implementation.
- Summer 2011: Software engineer intern at Apple, working in the iOS Applications and Frameworks group.
Personal Projects
Midori
Midori is a free Japanese dictionary app for iOS. It has many features, including kanji handwriting recognition powered by deep learning, audio pronunciation, kanji stroke animation, flashcards, and so on. It was featured on Fuji TV.
Jitouch
Jitouch is a free Mac app that expands the set of multi-touch gestures for MacBooks. It enables users to perform frequent tasks more easily such as changing tabs in web browsers, closing windows, minimizing windows, and a lot more. I co-created Jitouch with Supasorn Suwajanakorn. It was the runner up of the 2010 Ars Technica Design Award for the Best Student-created Mac OS X App.
MolAR
MolAR is an iPhone app and a web app for visualizing chemical structures in augmented reality. I created it in collaboration with Umberto Raucci from the Martinez Group at Stanford University. Users can view molecules and proteins in a real-world surrounding through their smartphone. This work is a basis for an upcoming chemistry education tool. The source code is available on GitHub.
Kepler Orbit Simulation
I created this interactive visualization to answer my questions about orbital mechanics. For example, how would the Moon move if it was closer to Earth? Are all orbits elliptical? One of the features of this visualization is that it does not use numerical integration, which tends to be unstable in the long run. Instead, it uses the formulas that provide the exact shape of the orbit.
PyCloud
PyCloud is a Python editor and compiler in the web browser. Everything runs on the client side. It also has interactive tutorials that teach users how to use Python. I created this with my friends for a programming competition at University of Illinois at Urbana-Champaign. The source code is available on GitHub.
COVID-19 Prevalence Maps
I collaborated with Lodewijk Gelauff to create interactive maps showing the prevalance of COVID-19 in the US using data from Johns Hopkins University. The source code is available on GitHub.
Other Projects
ASSU Budget Visualization
I collaborated with the Associated Students of Stanford University (ASSU), the general student body at Stanford, to design and build a new user interface for the budgeting elections in 2019-2020, in which students voted to fund various student groups and activities. The new user interface included an interactive visualization that let students view the requested amounts of funding for each group and how their votes would affect their tuition.
Interactive Educational Modules in Scientific Computing
I worked with Prof. Michael Heath at University of Illinois at Urbana-Champaign to create interactive visualizations to assist in learning concepts and algorithms of scientific computing, including
- Singular Value Decomposition
- Vector p-Norms
- Error Bound
- Matrix Condition Number
- Symplectic Methods for OEDs
- Finite Difference Approximations
Open Source Contributions
- WebKit - the rendering engine of Apple Safari
- Chromium - the open-source component of Google Chrome
- LLVM - a set of compiler and toolchain technologies
- Swift - a programming language by Apple
- kpd_opt - software for finding optimal matching in kidney paired donation
- Mol* - a toolkit for visualization and analysis of protein structures
- DNA Chisel - software for optimizing DNA sequences
- AudioMass - a web-based audio editor