|Data Science||Python Pandas Numpy Sklearn Keras TensorFlow|
|App||Android Kotlin Arduino Tizen Java Firebase Firestore|
|Database||MySQL PostgreSQL ORM Hibernate SQLAlchemy NoSQL|
|Dev Ops||Google Cloud Heroku Github Bitbucket Jira Bamboo TDD Agile|
|Web||AngularJS Bootstrap/CSS Google-APIs Flask Apache|
Summer Research Student, UofT (Dr. Eyal de Lara)2017-05 — 2017-09
Continuing research into path computing, a multi-tiered variation of edge computing. Developed addition of monitoring utility to CloudPath, a distributed path computing framework. Application development to motivate need for the architecture.Java Nomad Cassandra Path Edge Computing
Programmer, Hydro One2015-05 — 2016-09
Full stack web development for various internal projects. Produced API for multi-million row database to facilitate companies shift to web based applications. Produced identification API using LDAP protocol to facilitate authentication. Continuous maintenance and service of legacy .NET desktop applications.
- Full stack web development using AngularJS, Flask, SQLAlchemy, Django, MSSQL, OracleDB, and Apache.
- RestFUL API development to facilitate companies migration to the web.
- DevOps management using Jira, Bitbucket, and Bamboo.
Research Technician, UOIT (Dr. Ken Pu)2015-04 — 2015-12
Research into natural language processing and its applications for a marketing agency. Developed pipeline to rank algorithmically generated articles by a measure of N-gram likelihood in the Google book corpus.
- Developed likelihood classifier using Google books corpus and BerkeleyLM tools.
- Developed NodeJS file server to host machine generated articles.
Android application to collect and align analog device readings from pulse oximeters. Saves data to a remote database for offline processing.Android Data-Collection USBSerial
Performs analysis on data collected by the like-named Android application. Applies various machine learning techniques to provide accuracy and reliability measures of readings inferred from photoplethysmographs. Reading types include heart rate and peripheral oxygen saturation.Python Machine-Learning Keras Signal-Processing
Series of scripts to deploy GPUBlast and BarraCUDA (and all dependencies) on GCloud instances. Runs workloads of varying sizes for both applications. Uses vTune and NVProf for profiling.CUDA Bioinformatics GCloud Bash NVProf vTune
Monitoring utility for the CloudPath multi-tiered edge computing framework. Aggregates basic system information from distributed nodes using Cassandra clusters.Edge Computing Cloud Java Cassandra Nomad
Python wrapper and extension to BuDDy. Uses binary decision diagrams for constraint solving on real world problems.Python C BDD
Android application to facilitate location based chatting by dropping message on an interactive map.Android Firebase Google Maps API
Golang bot to play Ultimate Tic-Tac-Toe on theaigames.com. Uses a Monte-Carlo tree search algorithm.Golang AI
Clojure bot to play Connect Four on theaigames.com. Uses a min-max algorithm with several optimizations.Clojure AI
Hons. BSc in Computer Science, University of Ontario Institute of Technology2013-09 — 2017-05
Graduated with highest honours on President's list. 4.2/4.3 GPA.Databases NLP Logic
MSc in Computer Science, University of Toronto2017-09 — 2018-12
Research in Systems and Networking with a focus in mobile devices, wearable health sensors, and applied machine learning. 4.0 GPA. Thesis is focused on improving reliability and accuracy of pulse oximeters for measuring peripheral oxygen saturation. Work is multidisciplinary, containing aspects of (1) app development with Arduino, Android and Tizen Studio, (2) data analysis with Python and Pandas, (3) and machine learning with Sklearn, Tensorflow, and Keras.Topics in Mobile and Pervasive Computing. Topics in Computer Architecture. Machine Learning. Topics in Computational Medicine.
Towards Accurate Readings of Wearable Pulse Oximeters, Ubicomp (To Submit)2018
CloudPath: A Mulit-Tier Cloud Computing Framework, ACM/IEEE SEC2017
High Speed Object Tracking Using Edge Computing (Poster), ACM/IEEE SEC2017
References available on request