Background

Damon Ma

Nice to meet you!

I'm Damon Ma, a computer science student at the University of Toronto.

With an innate curiosity for how things tick, I ventured into the world of computer science and software development. My journey began in 8th grade when a friend gave me my first taste of HTML (which isn't a programming language, by the way!) and I got hooked on making basic webpages. Soon after, I spent my days writing text-based adventure games with Java and eventually moved on to more challenging endeavours. Completing various projects, studying computer science, and sharing my knowledge with others through my role as a Game Design Instructor have equipped me with the tools needed to succeed in the never-ending rabbit hole of software development. I am currently working at the University of Toronto's Department of Mechanical and Industrial Engineering (MIE) faculty as a Junior Web Developer.

Beyond my tech adventures, I've done some other cool things throughout my years as a human being:

  • Earning a third degree black belt in Taekwondo 🥋
  • Strumming a few tunes on the guitar 🎸
  • Exploring the beautiful, diverse cultures of the world 🗺️
  • Finding cool games to sink my teeth into 🎮
  • Nailing some friend-approved culinary creations 👨‍🍳
  • And most importantly, connecting with amazing people like you 🤝

I hope this website can give you a better understanding of me, and I'd love to know more about you too! Feel free to give me a shout any time via email at damon.ma@mail.utoronto.ca, or add me on LinkedIn at linkedin.com/in/damon-d-ma!

Experience

Here's where I've put my knowledge and expertise to good use:

Junior Web Developer

Mechanical & Industrial Engineering University Of Toronto

Toronto, ON, Canada

  • Contributed to the Social Needs Marketplace - Impact (SNM-I) project, a digital matchmaking web application that assists agencies in effectively providing social services to clients in need
  • Successfully resolved 7+ critical bugs in the frontend application, ensuring application reliability and data integrity
  • Collaborated with members of the development team to implement a shareability feature that allows agencies to share available programs and services with their designated partner organizations
  • Revamped the project's documentation system, providing a comprehensive guide to project setup, troubleshooting, and client-server architecture

Game Design Instructor

Lux Academy

Markham, ON, Canada

  • Designed and executed a comprehensive, hands-on curriculum to teach programming and game design fundamentals with GameMaker
  • Created a collaborative and problem-solving class environment through daily scrums with group members, promoting active engagement and teamwork
  • Successfully guided students through the game development cycle, resulting in a 100% project completion rate of original games
  • Received an average rating of 8.75/10 in course evaluations, with 100% student interest in returning for further learning
Above is a recording of an in-class activity done with students. The focus was to introduce the fundamentals of background art, viewports, character animation, and movement using the GameMaker game engine.

Projects

Curious about what I've been building? You're in the right place!

Welcome to my side projects showcase! Here, you'll find a curated collection of my work throughout the years:

Fix my Mistakes!

Fix my Mistakes! is an online tool for improving your grammar skills. By logging in and solving randomly-generated exercises, users can expect to make less errors in their writing. Made for the Deerhacks 2023 Hackathon.

JavaScript
HTML
CSS
React.js
Firebase
GitHub

Personal Website

The site you're on right now! A responsive, mobile-friendly portfolio website made with Next.js and Tailwind CSS.

TypeScript
HTML
Tailwind CSS
React.js
Next.js
GitHub
GitHub Pages

Boggle Party

Boggle Party is a twist to the classic board game, Boggle. Facing off against either a bot or a friend next to you, randomized Boggle boards are given at the beginning of each player's turn. The objective of the game is to find as many words as possible before time runs out, and entering a correct word resets the timer!

Java
JavaFX
GitHub

Tetris

There's no need to explain the rules of the timeless game Tetris! This variation features a speed slider to adjust difficulty, as well as a loading and saving feature to continue games later.

Java
JavaFX
Git

Duber Paint

Duber Paint is a locally-hosted online whiteboard application that allows users to create and join rooms to collaboratively draw on the same canvas. Users are additionally able to export and save their work as an image for later.

Python
PyGame
GitHub

Tuesday

A Google Chrome extension that allows users to highlight dates on a webpage and adds it as an event to their Google Calendar. Tuesday is able to recognize dates in numerous formats to maximize convenience and works on all seven days of the week despite its name. Made for the Creatica 2022 Hackathon.

JavaScript
HTML
CSS
GitHub

Weather Station

A hardware project using an OLED screen and ESP32 microcontroller. Using an open-source weather API, the device displays hourly weather information according to the user's latitude and longitude.

C++
Arduino
GitHub

Reaction Time Meter

A hardware project using an OLED Display, push button, and ESP32 microcontroller that tests a user's visual reaction time. Simply wait for the LED to turn on and press the blue button!

C++
Arduino
GitHub

Skills

I've picked up quite a few, here are some of them:

Languages:

Python
Java
C
C++
Bash
JavaScript
TypeScript
Assembly (RISC-V)
Racket
Haskell
HTML
CSS

Frameworks/Technologies:

CUDA
React.js
Next.js
Tailwind CSS
PyGame
Java Swing
JavaFX

Developer Tools:

VS Code
Arduino IDE
IntelliJ
PyCharm
Git
Github
Linux
Windows

Behavioural:

😀Communication
🤝Collaboration
💡Problem-Solving
🧠Critical-Thinking
📋Organization
Time Management
Quick-Learner
📣Leadership

Looks like you've made it to the end!

You could click this convenient button to go back to the start:

...or you could enjoy this nice picture of these cherry blossoms I took. The choice is yours!