Software Engineering Intern
Manhattan, NY | Fall 2017
- Building software infrastructure for the Financial Analytics & Verticals team
- Deployed Cassandra and Spark on Kubernetes enabling several teams to more easily scale database clusters as a part of the internal database-as-a-service system
- Reduced up to 55% of CPU and RAM requirements without performance loss by leveraging Kubernetes to share idle resources and by co-locating processes to reduce network latency
- Automated deployment of Kubernetes clusters integrated into the Bloomberg ecosystem
Software Engineering Intern
Cupertino, CA | Winter 2017
- Enabled a 30% increase in automatic data processing, which resulted in $200,000/year in savings, by a building data entry interface for product reliability testing in overseas factories
- Improved data processing speed by 50% by rearchitecting the ETL pipeline to use Spark
- Designed a machine learning classifier (SVM) to adjust reliability specs based on product returns
Production Engineering Intern
Ottawa, Canada | Summer 2016
- Mitigated the impact of upstream dependency outages by proposing and developing a reverse proxy using NGINX and Chef to cache dependencies
- Built several features for the developer automation tool to improve development workflow
- Architected a package management system to modularize functionality for Shopify’s developer automation tool, built using Ruby and Bash
Calgary AB / Waterloo ON | Summer 2015 – Summer 2016
- Led a small team of developers to build a web app for scraping and classifying job postings
- Implemented a naïve bayesian classifier to automatically categorize scraped jobs
- Raised $40,000+ in an initial funding round and published 3,000+ postings
Data Engineering Intern
Waterloo ON | Summer 2014
- Created a data processing tool using Python to sanitize millions of rows of oil pipeline data
- Built dashboard graphs and visuals in D3.js to plot processed data
Published on Velocity Site
Project Source Code
- exploration of consensus protocols
- video synchronization using web RTC and an implemention of the Paxos algorithm
Learn Something Everyday
- git hooks are used to pre-compile static html using ruby
- custom designing the html and css for the site, repetitive components were modularized
- content is defined using
- converts files trees of
markdown files to a website
- general crawling tool that emulates a browser, recursively following links using in-order traversal and fetching their assets
- parses and uses http request headers, and stores cookies for authentication
- processes and inserts into SQL data stores, or zips locally for offline browsing of web pages
Ruby on Rails Application that implements a voting based system for crowd-sourced answers and collaboration on practice exams and homework.
- Conway's Game of Life is implemented on the 128x32 LCD screen, written in C
- includes sensor integration and hardware output
bmp files into pixels arrays for viewing on Texas Instrument's Launchpad Microprocessor using the Orbit Booster Pack hardware add-on
- generates a solution using pattern recognition, smart permutation checks and primative algorithms
- graphically displays the cube's geometric net
- this program currently generates solutions of approximately 100 quarter turns
Parses and displays polynomial functions, through a command line interface. Able to factor any polynomial and do arithmetic operations on polynomials.
- user can input an enemy lineup of up to 5 heroes and Dota will return a list of all remaining heroes in order of statistical success against the input team
- scrapes aggregated data over millions of data entries for winrate statistics
- analyzes matchups for each hero and suggests good hero matchups
Computes the farthest pair of points in a set of points, implementing convex hull finding and anti-podal analysis.
Interactive Mandelbrot set generator with corresponding julia sets using complex number implementation. The view is zoomable, displaying closer snapshots of the sets. They are displayed using an rgb color scale.
The project titled "The Germ-inator" examined the comparison of natural and synthetic anti-microbials. An innovative technique was used to gather precise measurements for bacterial reduction. By taking digital photographs of a petri-dish, a pixel to mm ratio could be determined. Then, specific fine measurements on the dish could be determined through digital analysis.
Energy Innovation Award
Sponsored by Shell; awarded for winning team in case study competition.
Community Volunteer Scholarship
This award was for outstanding contributions to the community of Laurelwood through involvement with the Laurelwood Neighbourhood Association.
Awarded to students applying to the University of Waterloo with an average of 95% or higher.
3x Gold Medalist
Canadian Computing Competition Certificate of Distinction (Top 25%)
Winner of Waterloo Region Engineering Robotics Competition
DECA Silver Medalist
2X Award of Merit, Waterloo Wellington Science and Engineering Fair (WWSEF)
2X Best of Division Award, WWSEF
Sir Isaac Newton Award, WWSEF
The Ontario Ministry of Research and Innovation Stepping Stone Award, WWSEF