Jeffrey Kam

A Pure Mathematics and Computer Science Student

INTRO

I am very interested in research on and interesting applications of pure mathematics, computer science, and philosophy.

EXTRA INFO

I enjoy reading, travelling, playing badminton, playing piano, drawing, and occasionally making board games. (Note that this is a non-exhaustive list!)

EDUCATION

BMath. Honours Computer Science and Pure Mathematics (Co-op)
University of Waterloo
GRADUATING IN 2022

IN PROGRESS

Linear Algebra 1 (MATH 2101)
University of Hong Kong
SUMMER 2016



EXPERIENCES

Zenefits - Talent/HR Team
Software Engineer - Vancouver, BC

In Progress. Will update later.

MAY 2019 - PRESENT

UW Blueprint - Infrastructure Team
Software Engineer - Remote

In Progress. Will update later.

MAY 2019 - PRESENT

UW Blueprint - Elevate Team
Project Developer - Waterloo, ON

Elevate is a social enterprise that aims to help cognitively impaired childrens (especially those with Down Syndrome) through digital games. In this team, I help developed part of the API (modules, in particular) that allows Elevate to store the game progress and statistics of the players, and also generalized module addition process to the game.

SEP 2018 - PRESENT

Horizn
Software Developer - Toronto, ON

Horizn is a SaaS technology company that helps companies increase digital adoption. In Horizn, I have worked on developing a suite of python scripts to help ease the product addtion process for our client. Also, I have helped develop multiple functionalities for the PHP-Laravel based web app that helps automate the product addition process, including dispatching/compressing files locally, parsing and manipulating data within the files, and sending them to remote servers such as EC2 and S3.

MAY 2018 - AUGUST 2018

UW Blueprint - Wikitongues Language Ontology Team
Project Developer - Waterloo, ON

Our team has helped Wikitongues develop a cross-language search functionality by building on top of Glottolog 3 (a CLLD app built using Python Pyramid framework) and wrote API endpoints that allow Wikitongues' app Poly, to easily integrate with it. We also wrote some utility scripts for Wikitongues to use along with Glottolog 3.

DECEMBER 2017 - APRIL 2018



PUBLICATIONS

bioSyntax: Syntax Highlighting For Computational Biology
Published at BMC Bioinformatics on August 22, 2018:
Link to publication
Authors: Artem Babaian, Anicet Ebou, Alyssa Fegen, Ho Yin Kam, German E Novakovsky, Jasper Wong, Dylan Aïssi, Li Yao
Abstract:
Computational biology requires the reading and comprehension of biological data files. Plain-text formats such as SAM, VCF, GTF, PDB and FASTA, often contain critical information that is obfuscated by the complexity of the data structures. bioSyntax (https://bioSyntax.org) is a freely available suite of syntax highlighting packages for vim, gedit, Sublime, and less, which aids computational scientists to parse and work with their data more efficiently.


COMPETITIONS

Hackseq 2017 - 1st Place
BioSyntax
Hackseq is a bioinformatics hackathon hosted at UBC annually. Our team created BioSyntax, whcih is a comprehensive syntax highlighting package with tailored themes for biologists. It currently supports various major text editors, such as Sublime Text 3, Gedit, Vim.
September 2017

Waterloo Game Jam (GI Jam) Fall 2017 - One of the Best Games
Alien Relocation
GI Jam is a thrice-annual event hosted by The Game Institute (GI) in the Universtiy of Waterloo, in which participants work towards creating a game in 48 hours. The game I created, Alien Relocation, is a hexagonal-tile based RPG with card game mechanics, where the player's (represented by a 3 aliens team) goal is to leave the hexagonal “plane”t and rebuild the once prosperous hexagonal world.
September 2017

Marine Advanced Technology Education (MATE) ROV Competition 2017 - 3rd in Technical Report
Aquila II
MATE ROV competition is an engineering competition where underwater remotely operated vehicles (ROV) compete against each other to finish a list of assigned missions. The repository of our ROV, Aquila II, is displayed below in the project section.
April 2017

Canadian Computing Competition (CCC) Hong Kong - Honorable Mention
The Hong Kong version of CCC, co-created by University of Hong Kong and University of Waterloo.
March 2017

AppJamming Summit 2016 - 1 of 16 Finalists
Lazyhome System
AppJamming Summit is an annual event that last for few months where participants submit their project proposals, bring them to reality, and present the fiinal result to the public and judges. Our team created Lazyhome System as our project, a system that can be installed in almost every home to make home controlling automated. It is also open sourced, so interested individuals can contribute to our project.
April 2016



PROJECTS - WEB

CICSA Ranking Platform - A Ranking System for the Canadian Intercollegiate Sailing Association

A custom online scoring/ranking platform for Canadian Intercollegiate Sailing Association (CICSA). It has a client side that displays real-time score and rotation of a regatta and an admin side that allows the organizer to manage events, teams, news, and more. Also, in the admin panel, event host can score each of the race inside an event and compile the score to generate the final ranking, along with a built-in tie breaker functionality.

UW Blueprint - Wikitongues' Cross-language Search Functionality

A cross-language search functionality by building on top of Glottolog 3 (a CLLD app) with REST API endpoints, along with some utilty scripts. This allows user to search a language using different language identifiers (i.e. ISO-639-3 or Glottocode) or terms in a different language that reference the language being searched.

Dream Catcher - A Software that Objectively Measures Engagement of Student in Lecture

Dream Catcher provides an objective measure for student to utilize on planning their course selection accordingly and also for professors to reflect on their lecture quality. This project is developed by Tanvir Shahriar, Steven Wong, Kevin Xiang, and myself at YHack 2017, in which I worked on developing the back-end and integrating various APIs that we used.



PROJECTS - Software

Docsify PDF Embed Plugin

A simple plugin for Docsify users to embed PDF inside markdown generated HTML code. It is very simple to install and users can directly download through npm. This plugin utilizes PDFObject.js to display PDF on browsers, which uses the browser's internal PDF rendering engine as the renderer, so this is not mobile-ready as of now.

WLP4 Compiler - A Compiler for WLP4 Code

Just a compiler for WLP4 code with a given WLP4 grammar. This compiler comes with a partially optimized version that works for WLP4 code written in functional style only.

Sorcery - A Hearthstone-like Card Game

A Hearthstone-like card game built in C++. It has features like enhancement, attack, graveyard,, rituals, and more. This project implements multiple design patterns and heavily leverages the observer pattern, which broadcasts messages such as change of state (i.e. minion death/entry) to the whole game to agents (minions) on the game board.

BioSyntax - Syntax Highlighting for Biologist (Initiative of HackSeq 2017)

This project aims to provide easily readable biological file formats for biologists to edit directly on major text editors through the help of syntax highlighting. Currently, this supports Sublime 3, Gedit, Vim, and Less for some of the main formats like Fasta, Sam, Bed, Gtf, and more. This project is a collaborative work of the following 7 people: Artem Babaian, Eric Chu, Anicet Ebou, Alyssa Fegen, Jeffrey Kam, Gherman Novakovskiy, and Jasper Wong. Each of us contributes to different parts of the project to build the full suite of syntax highlighting package.

Automatic Class Scheduler - Class Scheduler using Genetic Algorithm

This is originally provided as a solution, mainly inspired by a book named An Introduction to Genetic Algorithm in JAVA, to generate optimal class schedules for my high school, which employs a block-based grade school schedule. Users should be able to easily customize the weight of importance of students’ course choices or schedule validity to fit their own school's need. This also supports reading student inputs and outputting iterations' data from/to excel sheets for ease of analysis.



PROJECTS - ROBOTICS

Limiting Machine - An Affordable Earthquake Detector

An earthquake detector built to cost less than $15 CAD by using Arduino Mega and some external modules, such as gyroscope/accelerometer, Bluetooth transmission module, SD card module, buzzer, and Real Time Clock module. The data collected will be processed locally (to calculate the magnitude in 2 different scales) and compiled along with the time that data is collected. Then, a graphing software written in Processing (JAVA) will parse those data for visualization and analysis. This project is a collaborative effort of Joseph Kwon and myself.

Lazyhome System - Transforming Old Home into Smart Home

This is a system in which one can remotely notify a small multifunctional device (built with arduino and wifi modules) that, depends on one's usage and creativity, allow one to control their home appliances with minimal effort. This project involves circuit design, writing APIs that allow the small device to retrieve updated information in near real-time, and building both mobile and web interfaces to let user control their devices at home.

Aquila II - An Underwater Remotely Operated Vehicle

This project is a collaborative effort of a small engineering team in AIS. In this project, I am the CTO and have helped develop the core control, data transmission, and robotic arm code, and also the circuits and mechanical design of the whole robot. On top of that, I mainly work on improving existing ideas of the ROV and experiment with the gyroscope/accelerometer for the auto-balancing system.



CONTACT

End of Site Note: Pure Mathematics is Really Intereting!