My Work

I have a large body of published work behind me spanning several years. The work I did in my early days is unfortunately lost to the mists of time, but my more recent work is shown here.

Awards & Certifications

Experience

May 2024 → August 2025 | FPGA, Verilog HDL, SystemVerilog, C, Yocto, Bitbake, Linux, Device Tree, U-Boot, TF-A, ...

Software Engineer - PEY Intern | Intel (until Dec 31) / Altera (from Jan 1) | Toronto, ON

Developed and tested platform firmware resilience soft IP to protect firmware and hardware from damage/attack. Created bare metal drivers with continuous integration to provide a reference design for customers. Computed benchmarks to publish to customers.

May 2023 → August 2023 | Angular, TypeScript, Java, Spring Framework

Technical Systems Analyst | RBC | Toronto, ON

Developed software and automation for small business credit and loans, using Angular, TypeScript, Java, and the Spring Framework, as part of the Credit Compass lab within RBC Technology & Operations, enabling financial advisors to effectively cater to clients.

September 2022 → March 2023 | Python, Qt (PySide2, PySide6), Flask, UDS (DoCAN, DoIP)

Software Engineering Contractor | Canoo | Toronto, ON (Remote)

May 2022 → August 2022

Software Engineering Intern | Canoo | Torrance, CA (Remote)

Developed tooling to streamline industrial processes, including a PySide/Qt GUI for using UDS (DoCAN/DoIP) to flash vehicle firmware, and a Python/Flask web application for end-of-line manufacturing, enabling assembled vehicles to be ready for shipping to the consumer.

January 2017 → Present | PHP, SQL, HTML, CSS, JavaScript

Administrator and Full Stack Software Engineer | Scratch Wiki | Global

Oversee, develop, and contribute to the Scratch Wiki, which is a family of comprehensive, collaboratively‐written wikis documenting the Scratch programming language and its surrounding phenomena. Administering these wikis has required technological, leadership, communication, and interpersonal skills, with people of many different cultures.

November 2021 → January 2023 | Node.js, React, CSS

Executive and Full Stack Engineer | University of Toronto Freelancers' Organization | Toronto, ON

The University of Toronto Freelancers' Organization is a group dedicated to providing software development services for other University of Toronto associated groups or individuals. This is not only for the benefit of clients, but also to provide the members with professional development experience working for a client. The team implements DevOps principles to build software and extend knowledge of programming with experience in developing in a team environment.

December 2021 → April 2022 | Python, HTML, CSS, JavaScript

Coding Instructor | Zebra Robotics (Danforth) | Toronto, ON

Teach courses on Python (including game design) and web development (HTML and JavaScript) to students in grades 1-12, covering I/O, data types, control flow, functions, OOP, APIs, jQuery, and more.

November 2021 | Node.js, React, Tesseract OCR, OpenCV, Python, Google Cloud Vision

Participant | NewHacks 2021 | Toronto, ON

Implemented the backend (including optical character recognition) of Rite, a web application that helps track spending, within 25 hours, in a skilled team of 4.

May 2020 | Python

Course Instructor – Intro to Python | Hong Kong Association for Computer Education | Hong Kong

Taught an introductory class on Python to students ranging from Primary 6 (6th grade) to Secondary 4 (10th grade), covering I/O, data types, control flow, and functions.

February 2019 → May 2022 | PHP, SQL, HTML, CSS, JavaScript

Full Stack Software Engineer | College Insider, HKUGA College | Hong Kong

Created and operated a content management system for my school's online publication, replacing its annual newspaper, and designed and implemented its frontend.

July 2018 → August 2018 | C#

Software Engineering Intern | mse Software GmbH | Bochum, Germany

Streamlined internal workflows by creating an application in C# using the Windows API that allows dialing selected phone numbers at the press of a keyboard shortcut.

Freelance

Graphic Designer | Contemporary A Cappella Society of Hong Kong | Hong Kong

Create flyers, posters, and covers for the Contemporary A Cappella Society of Hong Kong.

Service

April 2025 → April 2026 | Leadership, people management, diplomacy, negotiation, public speaking

President | The University of Toronto Engineering Society | Toronto, ON

Elected to represent all undergraduate students in the Faculty of Applied Science & Engineering in all matters. This is a major leadership and people management role and is the culmination of my service to the Engineering Society over my entire undergraduate career.

May 2024 → May 2025 | Meeting hosting, impartiality, Robert's Rules of Order, corporate governance (constitution, bylaws, policies)

Speaker of the Board | The University of Toronto Engineering Society | Toronto, ON

Elected by the Board of Directors to chair meetings, oversee the Ombudsperson and Chief Returning Officer, handle complaints against Board Representatives and Officers of the Society, and participate in by-law maintenance (including creating the Skule Bylaws site).

April 2023 → April 2024 | Leadership, diplomacy, public speaking, negotiation, people management

Vice Present Academic | The University of Toronto Engineering Society | Toronto, ON

Elected to represent all undergraduate students in the Faculty of Applied Science & Engineering in all matters academic. This includes:

This is a major leadership and people management role and is the position with the greatest direct impact on students' academic lives.

July 2022 → June 2024 | Diplomacy, negotiation, public speaking

Undergraduate Student Representative | Undergraduate Assessment Committee of the Council of the Faculty of Applied Science and Engineering at the University of Toronto | Toronto, ON

Represented the undergraduate engineering student body in discussions and votes on matters of academic policy relating to exams, other assessments, and petitions.

July 2023 → June 2024 | Diplomacy, negotiation, public speaking

Undergraduate Student Representative | Undergraduate Curriculum Committee of the Council of the Faculty of Applied Science and Engineering at the University of Toronto | Toronto, ON

Represented the undergraduate engineering student body (ex officio as the Vice President, Academic of the Engineering Society) in discussions and votes on matters of undergraduate curriculum, curriculum quality control, and sessional dates.

September 2021 → April 2023, April 2024 → April 2025 | Diplomacy, negotiation, public speaking

ECE Class Representative | The University of Toronto Engineering Society | Toronto, ON

Represented the cohort of engineering students graduating in 2026 after co-op with a degree in Electrical or Computer Engineering.

Open Source Projects

The majority of my true experience is in personal projects that I've done out of interest.

These are only a curated selection; for my full body of open-source work see my GitHub profile.

MediaWiki extension | Report

Extends the functionality of MediaWiki, the software that powers Wikipedia, by adding a mechanism to privately report edits for administrator attention.

Hardware project | verilog-cpu

An 8-bit CPU created by hand with a custom architecture in Verilog HDL. (Work in progress.)

UI | ScratchWikiSkin2

I am the primary maintainer of the user interface of the Scratch Wiki, a MediaWiki skin named ScratchWikiSkin2.

Python library | MultiVectors

Provides tools for computing n-dimensional multivectors, following the rules of geometric algebra.

Discord bot | ButtonBot

A soundboard bot with support for per-server custom sounds, plus some common global sounds.

Python library | python-mahjong

The actual logic of the popular tile game Mahjong is surprisingly complex. This library implements a game engine to abstract that logic from other applications.

Python library | discord-ext-slash

An extension to discord.py that provides support for slash commands.

Python library | parsival

A parsing expression grammar library that uses type annotations as a grammar definition.

Python program | py-arrow-lang

Re-implements the Arrow programming language in Python.

API | ScratchOAuth2

Implements the OAuth2 protocol on behalf of the Scratch website which does not natively support it.

Web application | Rite

Tracks spending by scanning receipts and logging the amount, category, and method of spending. Built with Google Cloud Vision and React.

Minecraft world | MC CPU

Over the course of a year, I implemented a fully Turing-complete 4-bit CPU in Minecraft. It's currently not well-documented, but those interested can download the world (9.74 MB ZIP).

Back to top