Yi Lyu
Software Engineering
MCS @ UIUC
B.S. Math of Comp @ UCLA

About

Hello!
I am Yi Lyu, an MCS student at UIUC. I am very interested in full-stack development and theoretical machine learning.

{
    "name": "Yi Lyu",
    "skills": [
        "Python", "Typescript", "Rust",
        "Kotlin/Java", "C++", "Git", "Docker",
        "Elastic Stack", "AWS"
    ],
    "contactInfo": {
        "email": "yilyu3@illinois.edu",
        "linkedin": "yi-lyu-3849b2169"
    },
    "courses": [
        "Database Systems", "Computer Vision", "Algorithmic Machine Learning", 
        "Operating System", "Distributed Systems",
        "Algorithms Design", "Probability", "Optimization",
        "Graph Theory", "Numerical Analysis", "Product Design"
    ]
}
{
    "name": "Yi Lyu",
    "School": "UIUC",
    "skills": [
        "Python", "Typescript", 
        "Rust", "Kotlin",
        "C/C++",, "Elastic Stack"
        
    ],
    "contactInfo": {
        "email": "yilyu3@illinois.edu",
        "linkedin": "yi-lyu-3849b2169"
    }
}

Work Experiences

Ex-Intern, Incoming Software Engineer (Winter 2023)

If you have used duolingo.com web before, you may notice that there is an update to the streak drawer in the top bar (streak calendar, streak reset alert, etc). Guess who implemented all those amazing redesigns. It's me! When you are working towards a perfect streak week and just complete one lesson, you can see that cool session-end animation where a streak flame pop out and the streak bar extends. That's also me!

Anyway, I am happy to announce that I would be returning to Duolingo as a fulltime Software Engineer in January, 2023.

Web Development Intern (Fall 2021)

I am responsible for building application interfaces and a thread testing module for the existing scientific computing tools. I developed a task manager for users to schedule computation intensive tasks and built a caching layer for the computing modules. I also automated the containization and deployment of these modules and integrated them into our platform.

Software Engineering Intern (Summer 2019)

I worked on a testing automation project for a 5G project at Nokia Shanghai Bell during the summer of 2019. I built a new log management system with the Elastic Stack over a distributed system to handle hundreds of thousands of data requests, which had already been used by more than 70 software engineers in multiple teams for code coverage analysis. I also implmented pipelines for the extraction and transmission of code coverage information and analyzed it in Kibana. In addition, I implemented exception handlers and wrote unit tests in a 5G-network project in C++.


Projects

Pokedex

Pokedex is a web application of pokemon dictionary with functionalities like registration system and pokemon search. Implemented with Python Django.

When Drones Attack (CS 174A)

When Drones Attack is a TPS game developed with TinyGraphics, a wrapper for WebGL. Player should protect their house from the drones with energy bolts. Multiple features are implemented, including collision detection, mouse picking, and model gluing.

Video Games Sales Prediction

I implemented the SVD imputation method in this paper and used it to preprocess the video games sales data in C++, which speeds up the imputation process 40X compared with its Python counterpart. I then trained various prediction models over a distributed system with the aforementioned data and provided a User Interface with functionalities such as autocomplete. (Intel MKL, Spark, C++, Python, Autocomplete, kNN, Neural Network)

Scytale

Scytale is a python library for cryptography, covering functions and algorithms in cryptography, including but not limited to elliptic curve, factorization, and lattice reduction. (Cryptography, Number Theory, Abstract Algebra)

BearMap (CS 61BL)

Bearmap is a Java Web mapping application that performs routing and graph traversal to find the shortest path given the starting point. The functionalities of the application include zooming, route finding, and autocomplete. (Java, Kd-Tree, A* search)

GitLet (CS 61BL)

Gitlet is a portable Git with basically all functionalities implemented, such as merge, commit, and push. (Java, Singlton Pattern, Git)