Building the next-generation platform powering Apple Pay, designing and implementing scalable systems with microservices, gRPC, Kafka, Kubernetes, etc.
Worked on Tanzu Kubernetes Grid (Kubernetes runtime for deployments and operations across multi-cloud infrastructure), involved in the next-gen Kubernetes Service APIs design (Gateway and xRoute for L4 & L7 load balancing and ingress).
•
Implemented Nginx-based reference controller to get the new Service APIs working end-to-end, by translating Gateway specs to Nginx ConfigMaps and creating distributed deployments with protocol-specific routing for TCP & HTTP(S).
•
Designed new CRDs (IP/IPPool) for IPv4/IPv6 address management, and controller for dynamic address allocation and binding, which can be integrated into Nginx or other general-purpose load balancers in Kubernetes cluster.
•
Made presentations and demos to Kubernetes founder and SIG-Network members on the Service APIs implementation.
•
Contributed to multiple Tanzu projects, e.g., EndpointSlice support in Contour (Envoy-based ingress controller).
Worked with Prof. Majd Sakr in 15-319/15-619: Cloud Computing.
•
As the leading TA of Team Project, redesigned the "Blockchain Service" to introduce dynamic mining difficulty and RSA signature, and improved the "Twitter Analytics System" which handles 10,000+ RPS with Java, MySQL & HBase based on 1TB dataset.
•
Rewrote Apache JMeter Test Plan with Groovy to support "cache compiled script" and achieved 4× speedup compared to Beanshell Assertion, and integrated it into Live Test Load Generators running on 40+ VMs in AWS Auto Scaling group.
•
Migrated the Reference Server from Amazon EC2 to EKS for better scalability with HPA, higher maintainability with ECR, and zero downtime with rolling update, and automated the provisioning process (e.g., VPC, ALB, Fargate) with Terraform.
•
Participated in the QA of multiple projects (e.g., "Containers" which builds Kubernetes clusters on GCP and Azure), fixed bugs in the grading service and suggested improvements on the project design.
Worked with Prof. Weikang Qian and Prof. Paul Weng in VE280: Programming & Elem. Data Structures.
•
Created 5 lab projects, including a C++ version of 2048, Legends of the Three Kingdoms (card game), and implementation of skip list and rope data structures.
•
Designed exam problems e.g. Pseudoperfect Number to test students' understanding of recursion and linked list.
•
Gave tutorials on Linux virtual machine setup on VMware and VirtualBox, installation of Windows Subsystem for Linux, and team collaboration with GitHub.
Created a museum guiding app supporting 3000+ museums and 140,000+ artworks, with which users can identify paintings with camera, listen to audio intros, comment on favorite artworks and get personalized recommendation.
•
Implemented a low-latency painting recognition algorithm based on OpenCV contour detection and image signature hash function, with 95%+ query accuracy and tolerance of rotation, resizing and compression.
•
Utilized Nginx as load balancer to redirect requests to multiple servers running Express.js and Flask RESTful API.
•
Authenticated users with JWT and Passport.js to support login with username & password, Gmail, Facebook.
•
Built an Elasticsearch text search engine with support for multi-languages, fuzzy query, search result highlighting.
•
Developed a distributed message system using Kafka, with Amazon Aurora as the main producer and Debezium capturing all database changes, and containerized microservices using Docker to serve as the message consumers.
•
Worked closely with UMMA, published the app on iOS App Store which has received 500+ downloads and all 5-star ratings.