About me

I am an Oracle certified Java programmer in Java 8 (IZ0-808).

I have many years of coding experience since grade 7. I have been competing in the CCC contest since grade 8 and have earned 3 Certificates of Distinction in the Senior contests.


I have experience in areas of front-end (static, interactive, and dynamic webpages), AJAX, back-end (authentication, session management, CRUD services, error handling, remote debugging, database), algorithm design and implementation, data analysis, JS canvas programming, CSS animation, and Java GUI.


Programming Languages Python, Java, SQL, HTML, CSS, Javascript
Data Science Python, Numpy, Pandas, Matplotlib, SQL, Jupyter Lab; requests, speech_recognition
Web Technology Python, Flask, SQL, Heroku, AJAX, Javascript HTML DOM; Bootstrap, CSS Grid; Regular expression; JS Canvas, smtplib
Java Technology Java SE 8 Programmer I Certification (1Z0-808); JGraphX, WPILib
Hardware C, Arduino IDE
Design SolidWorks
Tools PyCharm, Eclipse, Brackets, Chrome Dev Tools, Terminal, VS Code, Git, UMLet, Postman Rest Client, MySQLWorkbench
OS MacOS, Windows



University of Waterloo Bachelor - Mathematics
Sept 2021 - current I am currently in first year learning about the basics of functional programming, as well as the basics of proofs for Mathematical problems. I plan to double major in Computational Mathematics and Statistics.
London Central S.S Highschool - OSSD
Sept 2017 - June 2021 I graduated highschool, where I enjoyed doing science, math, arts, and sports activites. I balanced my academic courses with other interesting courses I wanted to take. Throughout highschool, I made small coding applications for fun.

Projects and Extracurriculars

FRC 4814 Western Engineering Robotics Team FIRST Robotics Canada - Highschool Robotics Team
Role Programmer, Mechanical, and Presenter
Duration Sept 2017 - June 2021

Volunteer Experience

  • FLL library introductory program that our Robotics team hosts every summer. The library program teaches kids how to build and program lego robots.
  • First Lego League Western Competition.


My Games


The goal is to drop blocks, called tetrominoes, down into a playing field to make lines. Tetriminoes are made of four connected squares each There are seven different types of tetrominoes.Levels have a set goal, or number of lines to clear. When the goal number reaches zero, the player moves to the next level. As the levels go up, the tetrominoes fall faster. A player receives bonus points if he can clear more than one line with a single tetromino. Clearing four lines is called a "tetris", three lines a "triple" and two lines a "double".

Brick Breaker

In Brick Breaker, the player must smash a wall of bricks by deflecting a bouncing ball with a paddle. The paddle may move horizontally which is controlled using the Left and Right Arrow keys. When all the bricks have been destroyed, the player wins. When the ball touches the bottom, the game is over. There are many versions of brick breaker, mine only consists of a single level with basic functionality.