Distributed Bitcoin Miner
Building a distributed server-client communication bitcoin mining system
Programming a custom Protocol built on UDP in Go to provide reliable communication and traffic control between echo servers/clients
Implementing client-server model with Go-style concurrency and marshalling
Handling failures, layering, and protocol multiplexing to ensure scalability and consistency
Github link: DistributedBitcoinMiner
Raft Consensus Algorithm
Implemented Raft, a more understandable alternative consensus algorithm to Paxos , in Go
Defined routine for leader, candidate and follower, implemented leader election, log replication to provide fault tolerance, data replication and consistency
Used only Go Channels to achieve asynchronous consistency instead of Mutex
Github link: Raft_Implementation
Tribbler Social Network System
Collaboratively developed a large-scale system in Go with multiple different components communicating via RPCs, allowing users to make posts, subscribe to users and see others’ posts
Implemented a general backend key-value store based on consistent hashing and sharding to enable request routing and fault tolerance
Implemented a caching protocol with Lease Callback mechanism to improve throughput while keeping cached data consistent
Github link: Tribbler_Implementation
CMU Computer Science Academy
Worked in a team to create a CS education platform for high school students in Pennsylvania, now adapted by 14 high schools
Built interactive animation/interface for curricular content in Javascript and Django
Involved in website creation which launched a pilot version used by 400 students, collected user feedback to improve the system
Website: https://academy.cs.cmu.edu/
Natural Language Processing Q&A algorithm
Built a Python Question-Answering System by scraping Wikipedia content, generating features with the Stanford NLTK package, parse tree and incorporating the trigram model
Utilized POS tagging, tokenization and various NLP techniques to parse and generate questions/answers
Generated questions and answers with highest relevancy and won best Q&A algorithm among 20 teams against other grad students
Besiege, Physics Simulation Game
Integrated Pygame with Box2D and designed 2D physics game in Python
Implemented animation interface together with physics simulation
Let user draw their vehicle and try to get to the designated area through physics simulation
Demonstration url: www.youtube.com/watch?v=IFIK0hnPA4k