Software Engineer Projects

Pull Request Slack Bot (2023)

At Coinbase, requesting code reviews through Slack can be time-consuming due to the repetitive process of copying and pasting GitHub links and composing similar messages. To streamline this workflow, I developed a Slack Bot that automatically lists the top 5 most recent pull requests (PRs) for a given GitHub username. With this bot, developers can save significant time and effort. By clicking on a specific PR in the dropdown menu, the bot generates a pre-filled 'Code Request' message, reducing the need for manual drafting. If a developer submits 2 PRs per day, this bot can save up to approximately 8.6 hours per year.

Technologies Used

Slack API
Go

Simplified House Party (2020)

I wanted to learn how to build a real-time system, such as messenger-like application. As a result, I built a simplified video system similar to house party using Websocket.

When users enter the link and takes a picture of themselves, they enter a "Waiting room". When all the expected members from different places enter the "Waiting room", it will start a zoom meeting with all members inside the "Room".

Technologies Used

NODEJS
Digital OCEAN
NGINX
ReactJS
Websocket

FTP Like Implementation (2020)

Created a client-server architecture for transferring files from one IP address to another using Java. This implementation serves to mimic TCP's reliability. For learning purposes, it uses the UDP protocol to build the TCP protocol. I modified the TCP protocol to fit the need of this project requirement, and to maximize transfer speed. This program is able to transfer a 26.6MB file in a relatively quick speed, which is almost equivalent to FTP's speed using FileZilla.

Github Link

E-Wallet Prototype for Octopus Limited HK (2017)

In Hong Kong, Octopus is a major means of payment for many of us, especially on a subway. Octopus is considered a FinTech company in Hong Kong. It was originated to allow consumers to pay using a RFID based card. This payment is available in many different places such as grocery stores, subway etc…I created a prototype version demonstrating how Octopus can be transformed from being a RFID to a NFC based card. In other words, transforming Octopus to be an E-Wallet system. However, I did not realize that they had already built something similar and far better than what I could envision. Despite my lack of research on this matter, they were kind enough to invite me to their headquarter for a visit and taught me a lot about their design and factors they had to consider while building such an e-wallet system.

Paper describing the implementation, logistics, and technological consideration of this project: Octopus E-Wallet Proposal

Technologies Used

NFC/RFID Adafruit Shield
SQL for DB
Flask for API
Android Development (java)
Arduino Board

LIUEC Management Tool
(2017)

A webpage for my father's Chinese medical clinic. Due to confidentiality issues, the webpage cannot be shared on this site.

Functions

  • Create appointments for patient on specific dates
  • View patient's information. (i.e patient appointment history, patient medical records)
  • Upload patient medical records
  • Automatically logs out, if site is inactivate for more than a certain amount of time
  • Message Board: Allow internal workers to inform each other about important details

Technologies Used

Flask
Angular JS
AWS S3
Elastic Beanstalk
CloudFront
CloudFront
MongoDB