About the Author

This is a personal website designed for personal project exhibition. I had my undergraduate at University of Wisconsin-Madison, and my graduate at Carnegie Mellon University. I am currently looking for jobs (full stack). Top choice industries include game, enducation and intelligent devices.

My greatest hobbies are DOTA2 (currently 6400 mmr, rank 400 in the US server), FF14 and PUBG. Played video games since age 5, and have been playing hundreds of games including RPG, MMO, MOBA, RTS, FPS, etc.

Story of the Unnamed

An ARPG game demo built with Unity3D

Try it out

Adaptive Learning System

A personalized learning system using BKT algorithm to calculate the knowledge mastery level

Try it out

Dota2 Prediction

Predict the winning side using machine learning model

Try it out

Some Web

Language : JavaScript, Html5, css

Key words: React, Material Design

Time Spent: N/A

Some web pages to practice front-end frames.

Story of the Unnamed

Language : c#

Key words: Unity3D, Photoshop

Time Spent: 7 days

First try with the Unity3D engine and C#.
Most Assets are bought through Unity3D asset store as well as from the internet.
Implemented the whole game logic frame, including the Inventory, Equipment, Skill, Battle, Interactable Objects and NPC system with easy-extension structures.
The scene are built by myself with small pieces of models (roof, rock, trees).

Rem Fight

Language : JavaScript

Key words: Cocos Creator 2.0, Photoshop

Time Spent: 3 days

First try with the new Cocos Engine. A simple 2d action game.
Most resources (character, monsters, bullet) were created through photoshop. Four-direction movement and cast motion were deliberately designed and colored. Animation were created by using the animation creator provided by Cocos Creator.
All the components were modularized (can be extended or changed by simple lines of code).

Adaptive Learning System

Language: TypeScript, HTML5, CSS, JavaScript, Java

Key words: Angular 6, BootStrap, Material Design, Spring Boot, Mongo Database

Time Spent: 1 month

A project cooperated with Cross-Domain, a 12-K education company in China.
The system is to achieve the so-called adaptive learning: each student would have his/her own learning path based on ability, past performance, etc. Each Knowledge Point of each student is analyzed by Bayesian Knowledge Tracing Algorithm to increase the accuracy.
For this project, the subject is refined to Math Trigonometry, and the targered students are all Grade 10th~11t (due to the time and human limitation). The preperation work (knowledge decomposition, algorightm parameters analysis) and the design process (Hi-fi prototypes) were built by other two team members, while I am in charge of the whole programming part.

Dota 2 Prediction

Language : JavaScript, Python

Key words: Steam Web API, Machine Learning (Logistic Regression), flask, heroku

Time Spent: 5 days

A website that can predict the winning side of Dota2 (any 10 heros at your choice). I fetched 65000 recent Dota2 matches using Steam Web API. Data were cleaned at the fetching process - eliminated the invalid, privite, and entertain mode matches.
Logistic Regression models were built after I determined the structure and logic of the feature vector. However, due to the great number of possibilities of combination of 115 heros. the current data can only be trained to achieve an accuracy of 60%.
The website was served with flask (a light python WEB frame), because I need to call python scripts from Javascript. Also due to the particular enviornment required by the machine learning model dependencies, I deployed the website on Heroku Cloud Platform.

Source Code

Remote Care

Language : TypeScript, JavaScript, HTML5, CSS, .NET, C#

Key words: Ionic 3, Internet of Things, Arduino, Microsoft Azure, Device Twin

Time Spent: 5 days

An intelligent Medical Kit/Case, installed with Microsoft IoT Developer Kit to detect the usage, and an app to control the configuration.
The status is uploaded by Devkit in real-time through Azure IoT hub - Device Twins. The metadata was stored in Device Twins which both the DevKit and app side can be aware of any change, and query each others up-to-date data.
I was in charge of the whole front-end part. The app is written in Ionic 3, calling Device Twin API (JavaScript) to read status and store desired setting to the cloud.
The other two team members were in charge of the back-end Azure function (two versions: .Net and C#) and Arduino programming (C/C++).

Private Code