Experience
2023 — Now
2020 — 2023
2020 — 2023
United States
Single-handedly took Fraud Engineering Program from scratch, worked out a strategic vision & roadmap, and delivered fraud detection platform 1.0: a rule based engine to raise Slack alerts.
Built team of 4, delivered fraud detection platform 2.0: an event driven microservice that makes fraud decision on the fly (POS). It leverages third-party vendors like Perseuss and Sift, integrates with internal Salesforce case management.
Developed a homegrown generic RateLimit solution to control APIs access with two modes: Simple Count Down and Sliding Window.
Implemented a temporary locking mechanism to fight against brute force attack and potential credit card cycling fraud.
Produced various internal and external reports based on logging data from SnowFlake database.
2016 — 2020
2016 — 2020
Santa Clara
Ported NodeJS and J2EE based legacy application to pure reactive solution using Vert.x Java
Adopted Quasar Fiber technology to ease reactive programming by avoiding callback hell and eliminating learning curve
POJOlized the entire application by replacing Json Objects with POJOs, while input and output are Json, internally all POJO, that boosted productivity by great deal
Came up with a standard unified schema for all the domains supported: Media, POI, IoT, Productivity, Knowledge, etc.
Architected a unified voice solution using Websocket that seamlessly supports Alexa, Google Assistant, Houndify, and normal search on all domains and providers such as Apple Music, Spotify, Deezer, TuneIn, Yelp, Google Calendar, Wink, etc.
Invented a search along route algorithm that works on all POI providers such as Here, Yelp, TripAdvisor, Parkopedia, FourSquare, ChargePoint, etc. Most of them only support radius based search
Invented a tool that helps to map thousands of POI categories between each provider and CloudCar’s unified category tree
Resolved an interesting production memory leak issue by analyzing the memory dump. One of the TuneIn station playlist manifest file turns out to be a streaming URL, and the downloading socket kept open and accumulated around forty hours of voice data
Initiated a background optimization thread on all aspects of the application including performance tuning, code refactory, modularization, tools development, etc.
Standardized CloudCar error code system and mapped all integrated content provider error codes to CloudCar ones
Build a team of 24 from scratch including offshore offices in Bulgaria and China
Technologies: Vert.x, Quasar Fiber, Spring Framework, Mongodb, Solr, Redis, Kafka, J2EE, and NodeJS
2016 — 2016
2016 — 2016
San Mateo
Armus (https://www.armus.com/) provides online services for patient and clinical information registration as well as various researches and reports on top of that.
Enabled automatic meta data update through NCDR web services for all four types of registries of ACC (American College of Cardiology). Used Java8, Spring, JDBC Template, JAXB, HttpClient.
Implemented FIP application to take XML based patient data. Adopted SPA (Single Page Application) design using jQuery, Datatable, and Hanglebars template. Technologies: Groovy, Spring Framework, Spring Security, Zip4j, JdbcTemplate, Maven, Git, Mac, and PostgreSQL.
Bring abandoned “Data Table” application alive to the new Armus platform so that some important customers can be migrated over to the new Hybrid Outcomes application. Technologies: Groovy, Grails, Hibernate, Spring Framework, Spring Security, Git, and PostgreSQL.
2014 — 2015
2014 — 2015
San Francisco
BinWise (http://www.binwise.com) is a complete solution for restaurants on wine, beer, and liquor management.
Enhanced and Re-architect the new Scala/Play framework in the following area: added transaction management in persistence, introduced logging utility, implemented Elastic Search server, provided library to handle Play RESTful API JSON response, adopted ScalaTest unit test framework.
Implemented the new wine inventory upload processing which reduced the data input time from a couple of days to within an hour for big file.
Migrated wine match & merging functionality from old asp.net framework to the new Scala/play framework by leveraging Elastic Search engine. That improved the throughput by 300%.
Came up with a Java implementation of Oauth client to our API, extended our API to clients without Oauth with a simplified version.
Implemented a dynamic excel report generation engine using Apache POI framework.
Implemented a dynamic PDF file generation engine using Apache FOP and barcode4j libraries. This is used by restaurants to generate barcode labels that can be used by the scanner to scan bottles into BinWise system.
Made performance enhancements to BinWise old asp.net framework by introducing RESTful API, this enabled AJAX based data update and eliminated the need to reload the whole page even for simple update.
Technologies: Scala, Java, Play, Hibernate, Elastic Search, Memcached, SQL Server, MongoDB, Apache POI, Apache FOP, barcode4j, GitHub, AWS S3, EC2, Jenkins, Jira, Eclipse, IntelliJ.
Education
University of Utah
Bachelor of Science (B.S.)
Peking University
Master of Arts (M.A.)
Nanjing University