» Summary
- Exceptionally proficient programmer with experience in web development, server and client interaction, data management, and intelligent image processing, acquired through internship and university experiences
- Excellent communication, organization, and teamwork skills demonstrated through several projects
- Repeatedly selected as team leader due to superb leadership skills, on top of being a great team player
Languages
JavaScript (ES6)
4 yearsPython
1 yearGolang
1 yearJava
6 yearsC, C++ (with STL)
4 yearsHTML, CSS
5 yearsC# (Unity3D)
1 yearLinux Terminal, Windows Shell
5 years
Platforms
- macOS, Linux, Windows
- Electron, Web
- Android, React Native
- Docker, Cloud
- Microcontrollers, Raspberry Pi
Libraries + Tools
- Electron, NodeJS, React (and React Native)
- Docker, containerization
- RESTful APIs, JSON, networking
- Google Cloud Platform (and related services)
- Amazon Web Services
- Version control (Git, SVN)
- OpenCV (desktop, mobile)
- OpenGL
- Unity3D
» Education
Bachelor of Applied Science (B.A.Sc.) - University of Toronto
2013 - Present | Toronto, Ontario
- Enrolled in fourth (final) year computer engineering, expected graduation in May 2018
- Achieved a 4.0/4.0 GPA GPA and 90% average last term, with a 3.93/4.00 CGPA
- Ranked 4th among all students in same department and year based on GPA and average
- Three-time recipient of Dean’s Honours List award for academic excellence (received in every year of study)
- Select course grades: 99% - C++ | 94% - Operating Systems | 93% - Algorithms and Data Structures | 93% - Machine Learning
» Experience
Software Engineering Intern (Full Stack) (Amium)
May 2016 - April 2017 | Palo Alto, California
Interned at Amium, a startup focused on file-based collaboration and messaging. Coordinated with engineering team to maintain a product in market, then later restructure the existing product to conform to new design specifications. Independently constructed a microservice in the form of a Docker container, to handle external integrations. Adapted to work across broad portions of the codebase, earning manager's praise for flexibility. Worked mainly with Docker containers (Golang and Java), and React-based clients (Electron and mobile).
USRA Research Internship (Professor Steve Mann's Lab)
May - August 2015 | Toronto, Ontario
Returned to Professor Steve Mann's lab and continued development on projects from the previous summer to visualize Veillance (detect the sight-field of cameras), and later selected as lead programmer in a new IoT project to automate the lab. Additionally, created and managed an automated demo system at Augmented World Expo 2015, in Silicon Valley, and also participated in the Professor's presentation at the event.
UTEA Research Internship (Professor Steve Mann's Lab)
May - August 2014 | Toronto, Ontario
Worked in the lab of Professor Steve Mann, the Father of Wearable Computing, and started/managed several projects in the areas of visualizing Veillance (detecting the sight-field of cameras) and Actional Fitness (fitness measurement based on integration as opposed to differentiation). Also visited Meta with the Professor, and developed an augmented reality finger painting app in just one week.
» Projects
Machine Learning Capstone Project - Python
University Capstone Project | September 2017 - April 2018 | Toronto, Ontario
Applied Machine Learning to regenerate data lost through JPEG compression in images. Personally developed a GAN model to solve this problem, which ended up being very successful. Won the Gordon Slemon award for excellence, and selected as one of the top 12 projects in the department. The GAN model is open-sourced on GitHub.
BeanFinder - Java | Golang
Startup | August 2017 - Present | Toronto, Ontario
Software developer for BeanFinder, a startup focused on finding coffee products near users. Developing Android app and Golang-based backend server by myself, while coordinating with design team.
Android Apps - Java | Analytics/AdMob
Personal Project | June 2014 - Present | Toronto, Ontario
Authored and published 7 apps to the Google Play Store, with over 12000 collective installs, and an average rating of over 4 stars. Implemented Google Analytics and AdMob in several apps, to track user interactions and monetize them.
My Thoughts On... (Rate/Review App) - JavaScript | Electron
Personal Project | April 2018 | Toronto, Ontario
Constructed an open-source Electron app that lets you rate and review all the movies, TV shows, books, and so on that you consume. Easily keep all this data in one place to search through later.
Music Downloader - JavaScript | Electron
Personal Project | August 2017 | Toronto, Ontario
Built an open-source Electron app to download audio from YouTube, and present the user with a list of options to embed metadata and album art from various sources.
Discord Messenger Bot - JavaScript
Personal Project | June 2016 - Present | Toronto, Ontario
Built a public Discord bot with music streaming, user inventories, and server statistics features, serving over 40 servers.
NodeJS Packages - JavaScript
Personal Project | May 2017 - Present | Toronto, Ontario
Built several open-source NodeJS packages, complete with unit tests, and automated deployment.
Amium Product Restructure - Golang, JavaScript
Amium | February - April 2017 | Palo Alto, California
Coordinated with engineering team to modify the existing product into a whole new one, working on bite-size chunks as required.
Integrations Docker Container - Golang
Amium | November 2016 | Palo Alto, California
Independently designed and built a Docker container microservice to handle external integrations (such as webhooks), and contributed most of the third-party integrations offered in Amium.
Wearable Scroller Display - C/C++
Personal Project | August 2015 | Toronto, Ontario
Designed and constructed a wearable display, where a customizable message scrolls across horizontally, similar to a stock market sign, based on an attiny microcontroller and an array of RGB LEDs.
Home Surveillance System - C++ | OpenCV | GCM | Java
Personal Project | August 2015 | Toronto, Ontario
Implemented a system to detect motion in a scene using a webcam, capture images when motion occurs, and push these images via an FTP server and Google Cloud Messaging to an Android device with an accompanying app to view the captured images, and notify the user of the event.
Augmented World Expo 2015 - C++
Research Project | June 2015 | Santa Clara, California
Selected to be part of a team of three students to accompany Professor Mann to the Augmented World Expo 2015 event in Silicon Valley. Demonstrated projects I had worked on during the Professor's presentation, and also managed a Veillance Portrait Studio for the audience, in the subsequent workshop, using a system I designed to capture a GIF image sequence and email it to the participants.
Smart Lab Automation (IoT) - C/C++ | Java
Research Project | May - August 2015 | Toronto, Ontario
Selected as lead programmer in an initiative to automate various parts of the lab. Wrote code for high-performance IR-controllable lighting using microcontrollers, and assisted with designing a custom-built window controller to open/close/lock/unlock windows using an IR remote.
Camera Sight Mapping - C/C++ | OpenCV | OpenGL | Java
Research Project | May - August 2015 | Toronto, Ontario
Worked independently, consulting other lab members, to develop a system to visualize Veillance (camera sight-fields) using OpenCV image processing and OpenGL graphics. Coded for Linux, Android, and Arduino, and created communication systems between these platforms in both wired (UART) and wireless (TCP/IP) media to build and connect different parts of the system.
Free Roam Game - C++ | OpenGL
Personal Project | May 2015 | Toronto, Ontario
Led a team of two to develop an open-source 2D top-down open-world game, similar to earlier versions Grand Theft Auto.
Map Tool - C++ | OpenGL | Multithreading
ECE297 Course Project | January - April 2015 | Toronto, Ontario
Led a team of three students to develop an open-source Geographical Information System (GIS), similar to Google Maps. Personally contributed several of its unique key features, and achieved the 7th-best solution of over 100 teams in solving a variation of the Traveling Salesman Problem.
Actional Fitness App - Java
Research Project | May - August 2014 | Toronto, Ontario
Created an Android app from scratch to use the accelerometer and gyroscope in the device to measure changes in motion, and display results pertaining to Actional Fitness (fitness measurement based on integration as opposed to differentiation), with intuitive visuals, graphs, and logs.
Image Effects - Verilog | C/C++
ECE241 Final Project | November 2014 | Toronto, Ontario
Led a team of two to design and implement an image processing system, where images captured/sent from a computer were processed in hardware (with an FPGA), using the Altera DE2 board.
Finger Painting App - C# | Unity3D
Research Project | August 2014 | Palo Alto, California
Selected by Professor Mann to visit Meta Augmented Reality, an AR startup in Silicon Valley, where he is Chief Scientist. In just one week, implemented an augmented reality finger painting application from scratch using the Meta SDK and C#, in Unity3D for Windows, which the CEO remarked as "the most fun app" he had seen for the glasses.
SDL Games - C++ | SDL
Personal Project | May 2014 | Toronto, Ontario
Created two games using the Simple DirectMedia Layer (SDL) graphics library for C++ on Windows. One game is an RPG game, where the player must solve a randomly-generated maze while avoiding/defeating monsters, while the other is an endless-runner type where the player must dodge oncoming traffic on a highway.
Matrix Solver - C
Personal Project | October 2013 | Toronto, Ontario
Wrote a command-line C program to row-reduce any given matrix into Row-Reduced Echelon Form (RREF). The program accepts any size matrix, and displays all the elementary row operations required to row-reduce the matrix. Inspired to create the program after having to tediously row-reduce many matrices in my first-year linear algebra course (MAT188).
» Documents
Attached are a few documents of significance.
- General resume: Resume.pdf
- Reference letter from Professor Steve Mann: Reference Letter - Steve Mann.pdf