Motivations:
- Mitigating the effects of climate change to maximize the
probability of long-term survival and wellness of all life on
Earth (now and throughout the future). Overall, save as much life
on Earth as possible from climate disaster.
- Climate change is the biggest existential threat to humankind,
as well as all other species on Earth. We must rally
to fight against it - it only gets worse every single year we do
not take enough action to preserve our future.
- Life on Earth represents the only known life in the universe;
we must protect it at all costs. We must not blink out of
existence just yet.
- Pursuing real-world applications of artificial intelligence and
machine learning.
- Special interest in applying machine learning and large-scale
data as part of climate tech solution.
- Bringing humanity together as one family by seeing the bigger
picture of our existence and how meaningless our conflicts are in
light of this.
- Breaking down imagined barriers to instead work together
towards a brighter future.
Currently:
- Senior machine learning engineer @ OpenSpace (2019-present)
Previously:
- Senior software engineer @ Marble
(2018-2019)
- Engineer @ Human
Dx (2016-2018)
- Software engineering intern (web applications) at Rocket Fuel (2014)
- Research assistant at Stanford
Vision Lab under Dr. Fei-Fei Li (2012-2013)
- Member of UCLA Stroke Force organization (2011-2012)
- NSF REU
sponsored summer intern at the University of Michigan, Ann Arbor
under Dr. Allison Steiner (2010)
Quick links: LinkedIn, AngelList, GitHub
- Stanford University: M.S., Computer Science (2016)
- Specializations: Artificial Intelligence, Real-World Computing
- UCLA: B.S., Neuroscience (2012)
- Tales
- Social, worldwide, daily vlogging platform focused on
simplicity and authenticity. Provides a quick and easy way for
people around the world to vlog their daily lives, with the
mission of bringing the world closer together as one family.
- Built using Golang, Scala, PostgreSQL, Redis, React Native,
TypeScript/JavaScript, Android/Kotlin/Java,
iOS/Swift/Objective-C, and AWS.
- Mars
Hab-Bot
- 2D simulation of robot constructing human-livable habitats on
Mars. Modeled as Markov Decision Process (MDP), with multiple
task phases implicitly formulated into transition/reward
functions, allowing naturally solving the sequential phases
without manual phase conditions or explicit instructions.
- Manually modeled state and action spaces, transition and
reward functions, and various “worlds”/difficulties. Applied
varying degrees of model uncertainty (movement, object
interaction, etc.). Used discrete value iteration to solve MDP.
- Successful in simplistic settings, always achieving optimal
policies and performances in minimal time.
- Implemented using Julia, POMDPs.jl, and PyPlot.jl. Individual
project. Dec 2015.
- PDF,
YouTube,
GitHub
- World
Connector
- Social network recommendation system for encouraging
shared-interest, distance-based connections. Used Twitter
network/dataset/API and Google Maps Geocoding API; acquired
network structure and geographical locations for ~57,000 users,
with 1 million connections between them. Generated simulated
user interests vectors.
- New user connection ranking and recommendation using network
structure features, user geolocations and distances, and
simulated interests. Successfully recommended both users with
similar interests and geolocations (“distance-penalizing” mode)
and with similar interests and distant geolocations
(“distance-rewarding” mode).
- Implemented using Python, Snap.py, and Gephi. Individual
project. Dec 2015.
- PDF,
Poster
- Quantum
Hearts
- 2D real-time puzzle game for Android OS using only Open GL ES
2.0.
- Available on Google Play Store, built entirely from scratch
with no external game libraries in under 10 days
- Low-level handling of all shape drawing, shape texturing, game
logic, player interaction, cross-thread communication, Android
UI, etc.
- Implemented using Android/Java and Open GL ES. Individual
project. Aug 2015.
- PDF,
YouTube
- HoloPanel
- Mobile computer-vision/augmented-reality Android application.
Performed real-time hand and finger tracking on a mobile device
camera using only on-device computation. Interface enabled
interaction with several on-screen functions via real-world hand
and finger placement.
- Used HSV-flesh probabilities with per-user/per-session
calibration, CAMSHIFT and convex hull estimation for hand/finger
localization, and Android for the augmented reality on-screen
interface.
- Implemented using Android NDK, C++, OpenCV, and Java/Android.
Individual project. May - Jun 2015.
- PDF,
YouTube, GitHub
- Galaxy
Morphology Classifier
- Machine learning and computer vision system for galaxy
morphology characterization.
- Used ~140K images from the Sloan Digital Sky Survey to provide
outputs along ~40 continuous-valued morphology categories.
Preprocessing involved cropping, Gaussian filter smoothing,
downsampling, and rotated image copies for rotational
invariance.
- Used (Dense) SIFT, radii-based spatial descriptors, HSV, and
bag-of-visual-words for features. Used K-nearest neighbors
regression, ridge regression, support vector regression, and
convolutional neural networks for learning. RMSE for eval.
- Implemented using Python, OpenCV, scikit-learn, and Caffe.
Individual project. Feb - Mar 2015.
- PDF
- Planet
Hunter
- Machine learning system to detect exoplanets using NASA Kepler
Space Telescope data and planetary transit detection method
applied to Kepler brightness time series data.
- Noise reduction via sliding-window percentage-change
transformation. Engineered manual features extracted from time
series data, considering properties such as global statistics,
peak width/magnitude/frequency, inter-peak width, etc. Applied
k-means clustering and PCA methods for dimensionality reduction.
- Used k-nearest neighbors, logistic regression, softmax
regression, SVMs, and k-fold cross validation for
classification. Achieved ~85% test classification performance.
- Implemented using Python, NumPy, matplotlib, and LIBSVM.
Individual project. Sep - Dec 2014.
- PDF,
Poster
- LORE:
Light Object-Relational Environment (LORE). Provides a simple and
lightweight pseudo-ORM/pseudo-struct-mapping environment for
relational database interaction using Golang.
- Geocoder:
Simple REST API server for geocoding addresses, implemented in
Python.