Project

Selected Projects

  1. MiProxy
    • Built a Proxy that can handle video streaming requirements between multiple clients and servers.
    • Implemented adaptive bitrate selections for video streaming to minimize annoying buffering and improve user experience.
    • Realized DNS load balancing through round-robin load balance and distance based server selection using Dijkstra algorithm.
  2. Distributed Searching Engine
    • Created a segmented inverted index of web pages using a pipeline of MapReduce programs.
    • Developed a distributed MapReduce framework with strong fault tolerance to process large-scale web data.
    • Utilized Flask framework to implement the backend server in order to generate highly customized recommendations via PageRank Algorithm and query vector similarity comparison.
    • Built an Index server, a REST API app that returns search results in JSON format.
    • Built a scalable Search server with a user interface that returns search results like Google or Bing.
  3. Static Router
    • Implemented a static router with basic router function like packet forwarding so that it will be able to route real packets to HTTP servers.
    • Implemented layer 2 and layer 3 protocols including ARP, ICMP, Ethernet etc.
  4. SillyQL: A Simplified Query Language
    • Implemented a program that supports basic SQL commands including insert, select, join, where etc.
    • Used hash map and binary searching tree to accelerate some commands' execution.
  5. Insta485: A Simulation Program for Instagram
    • Implemented a static site generator that can automatically produce HTML templates for static web pages.
    • Implemented an Instagram clone that has basic Instagram functions with server-side and client-side dynamic pages.
  6. Emotion Classifier for Reddit Post
    • Trained machine learning model to classify the emotions in Reddit posts.
    • Did feature engineering and used several different machine learning classifiers including LinearSVM, QuadraticSVM etc. to improve classification correctness. Finally improved the accuracy by 10% compared with the original basic LinearSVM model.
  7. Dog Classifier
    • Trained machine learning model to classify different dog breeds.
    • Used Gradient-weighted Class Activation Mapping to visualize features used by CNN.
    • Applied transfer learning and data augmentation to improve classification correctness. Finally improved the accuracy by 12% compared with the original CNN model.