Work Experience
Bloomberg
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
Apple
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
Shopify
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
Blog Post
Petro Recruit
Co-founder
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
Petro Recruit
PetroPredict @ Velocity Garage
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
Projects
Paxos-Video
- exploration of consensus protocols
- video synchronization using web RTC and an implemention of the Paxos algorithm
Source Code
Website Generator
- 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
YAML
, markdown
, and erb
- converts files trees of
markdown
files to a website
Source Code
Ruby Crawler & Scraper
- 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
Source Code
UW Overflow
Ruby on Rails Application that implements a voting based system for crowd-sourced answers and collaboration on practice exams and homework.
Source Code
TI LAUNCHPAD GAME OF LIFE
- Conway's Game of Life is implemented on the 128x32 LCD screen, written in C
- includes sensor integration and hardware output
- decodes
bmp
files into pixels arrays for viewing on Texas Instrument's Launchpad Microprocessor using the Orbit Booster Pack hardware add-on
Read More...
Source Code
Rubik's Cube Solver
- 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
Read More...
Source Code
POLYNOMIAL GRAPHING CALCULATOR
Parses and displays polynomial functions, through a command line interface. Able to factor any polynomial and do arithmetic operations on polynomials.
Read More...
Source Code
WINRATE AND STATISTICAL ANALYZER FOR DOTA
- 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
Source Code
Farthest Points in a Set
Computes the farthest pair of points in a set of points, implementing convex hull finding and anti-podal analysis.
Source Code
Mandelbrot and Julia Sets
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.
Source Code
Awards
National Science Fair Silver Medalist & Best in Category for Information Technology
2011
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.
Eastern Canada Student Energy Conference
2015
Energy Innovation Award
Sponsored by Shell; awarded for winning team in case study competition.
Laurelwood Neighbourhood Association
2015
Community Volunteer Scholarship
This award was for outstanding contributions to the community of Laurelwood through involvement with the Laurelwood Neighbourhood Association.
University of Waterloo
2015
President's Scholarship
Awarded to students applying to the University of Waterloo with an average of 95% or higher.
Waterloo Wellington Science and Engineering Fair
2009 — 2011
3x Gold Medalist
Other Achievements
2010 – present
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