Computer Science

I began casual coding when making mods for The Elder Scrolls III: Morrowind as a kid, but it wasn’t until the University of Toronto that I took formal courses. At U of T, I loved the Python and theoretical content and began making things for fun and efficiency. After a passion project that yielded a new optimization to the Frame-Stewart algorithm for solving the Tower of Hanoi, I was asked to be a TA.

During that time, I took on a webmaster position for the campus newspaper and redeveloped the website from scratch, learning a ton in the process and ending up writing a complex framework to simplify making WordPress plugins and managing dependencies. The website won third place in the Canadian Community Newspaper Awards that year.

Since then, I’ve never stopped making little scripts and tools in Python and the core web languages. I’ve dabbled in side jobs and learned more modern tools and languages like Go and React, but for the most part I keep it simple and create applets that make my own life simpler, make my classroom work more efficient, or teach a concept to my CS students.

I have a long backlog of repos to add, both new work that I’m polishing and old work that I’m reworking or organizing, but here’s what’s out there so far!

Github

Web applications

icon

Shuffler

screenshot
2025
HTML, CSS, JS (jQuery)
A tool for quickly making, editing, and sharing groups, mainly by shuffling them but also by other means. I made this to save time in my classroom.
icon

Timer

screenshot
2022
HTML, CSS, JS (jQuery)
A simple timer app. Has a pause function that notes how long it has been paused for. I made this because my mom noticed that other timer websites would go idle if she left the tab for long enough. This one works by using delta time.
icon

Flashcarder

screenshot
2022
HTML, CSS, JS (jQuery)
A tool for quickly making, editing, and sharing flashcard decks. Has options such as random order, reading aloud, swapping prompts and answers, and more.
icon

Binary

screenshot
2021
HTML, CSS, JS (jQuery)
A tool for teaching and exploring binary and associated representations (decimal, hex, ASCII).

Desktop applications

Quick Converter

screenshot
2024
Python, QT
A simple GUI that allows you to convert images or audio files from miscellaneous formats into `.jpg` or `.mp3` respectively. Made to normalize student submissions for the edtech platform used at my school, which only provides functional previews for a few formats.
icon

Coupon Book

screenshot
2015
Python 2, WX
A coupon organizer to help you maximize your savings and near-expiring coupons. One of my first significant programs and GUIs. Came with an installer and everything.

CLI applications

Odeon

screenshot
2016
Python
This is a(n incomplete) prose-to-poetry converter made as a culminating project for an NLP course at U of T. Some parts of it (such as the pronunciation model) are more sophisticated than others.

Development tools

web-tools

screenshot
2022
JS (jQuery), CSS
Just some tools I made that solve common issues when making simple HTML/CSS/JS applets.

Scripts

Tally

screenshot
2024
Python
Just a li'l tool to help tally, such as votes for a choice of activity or pairing names with entrée orders. Displays results in the console or exports to a CSV.

Spelling Bee

screenshot
2024
Python, cmudict
A simple solver for the NYT Spelling Bee game.

Duolingo Marker

screenshot
2021
Python
A couple of scripts for summing student XP records in a Duolingo classroom. Ingests and exports CSV records to make it easier to assign proper credit for practice on a regular basis.

Practice

Advent of Code 2023

screenshot
A few of the puzzles from Advent of Code 2023.

Advent of Code 2022

screenshot
A few of the puzzles from Advent of Code 2022.