Education

Master of Science in Computer Science
University of Manitoba, 2024-Present
I am currently pursuing my M.Sc. in Computer Science at the University of Manitoba, focusing on generative AI, machine learning, and computer vision, where I have maintained a perfect 4.50/4.50 GPA.
Supported by an NSERC CGS-M scholarship, my research, supervised by Dr. Christopher Henry, aims to reduce the burden of data labelling for image segmention by leveraging and modifying SOTA diffusion models to synthesize novel training data and their corresponding labels.
Bachelor of Computer Science (Honours, Co-op)
University of Manitoba, 2020-2024
I previously completed my B.C.Sc. (Honours, Co-op) at the University of Manitoba, graduating with a perfect 4.50/4.50 GPA.
During my undergraduate studies, I specialized in artificial intelligence and software engineering. My academic excellence was recognized through multiple scholarships and awards, including the Governer General's Silver Medal for being the undergraduate in the best academic standing, as well as the Faculty of Science Medal for being the top graduate in the Faculty of Science.
Projects

Diffusion-based Dataset Augmentation for Downstream Segmentation
M.Sc. Thesis Project, Ongoing
Python, Flux.1-dev, PyTorch, Diffusers, DeepSpeed, Variational AutoEncoders, Image Segmentation
In this project, I am modifying the architecture of a large pretrained diffusion foundation modeland training the resulting model to generate images and segmentation masks simultaneously.
The end result is a labelled dataset factory that can be used to augment segmentation datasets, reducing the expense of data labelling.
Blockchained Federated Learning for Privacy-Preserving ML
April 2025
Python, Federated Learning, Stable Diffusion, PyTorch, Blockchain, Smart Contracts, Solidity
In this project, I fine-tuned Stable Diffusion models using various Federated Learning strategies and aggregation algorithms, including blockchained and non-blockchained schemes.
Once trained, these models were used to generate synthetic datasets. This allows for privacy-preserving ML since a user's data never leaves their machine, however the resulting synthetic dataset incorporates features from all users' local data.
Retrieval Augmentation for Library-Oriented React Code Generation
April 2025
Python, Llama, LLMs, Retrieval Augmented Generation, React, TypeScript, Node.js, ChromaDB
In this project, I designed a new template-based benchmark for evaluating React code within a design system. I then used this benchmark to evaluate the performance of different models on 5 component libraries from open-source corporate design systems.
I expanded my evaluation to include multiple RAG strategies, and then inverted the benchmark to quantify complexity internal to each component library.
Wheat and Weeds: Semantic Segmentation in Crop Fields
November 2024
Python, Semantic Segmentation, PyTorch, Applications of Computer Vision
In this project, I worked side-by-side with Daniel Pouteau, a graduate researcher in the Department of Plant Science, to create a model capable of accurately segmenting wheat and weeds in drone images of crop fields.
This project aims to solve a real-world problem faced by agricultural researchers at the University of Manitoba. Using a fine-tuned Mask2Former model, we were able to push the IoU score to around 0.90, nearing human ability.
ThreadNet: Debugging Tool for Thread IoT Networks
April 2024
C, JavaScript/TypeScript, Microcontrollers, IoT, Thread Networking Protocol
In this project, I worked alongside Landon Colburn to develop a debugging tool for Thread IoT networks. This tool included the ability to visualize the network topology live, while also monitoring connection metadata for each individual node.
The tool included three different node communication methods (TCP, UDP Unicast, UDP Multicast) which were indicated through an LED on the individual SOC (either an ESP32-C6 or an ESP Thread Border Router).
Harmony: The Social Network for Music Enthusiasts
December 2023
JavaScript/TypeScript, Next.js, React, Node.js, Express, PostgreSQL, Prisma ORM, GitHub Actions, MusicBrainz Dataset
In this project, I led a group of fellow students through the design of a full-stack web application. This social media-style website was a hub for music enthusiasts to discuss their favourite artists, albums, and songs.
Direct user-to-user messaging was restricted, and all posts must be attached to a artists, albums, or songs in order to focus the discussion on the music and reduce opportunities for hate and harassment.
Work Experience

Deep Learning Teaching Assistant
University of Manitoba
September 2025 - December 2025
Teaching Assistant for COMP 7950 - Deep Learning, the University of Manitoba's graduate-level deep learning course.
Software Developer Co-op
Priceline.com, May 2024 - August 2024
JavaScript/TypeScript, Go, GraphQL, REST, gRPC, PostgreSQL, React, Next.js, Express, and Prisma ORM.
As a member of the Travel Agents team once again, I performed the duties of a full-stack software developer. Some highlights include:
- Leading a cross-team integration of customer data into the phone sales agent platform, improving conversion rates
- Designing and implementing a system to allow phone sales agents to securely access a customer's saved payment methods while maintaining PCI DSS compliance, decreasing call handle time
Software Developer Co-op
Priceline.com, May 2023 - August 2023
JavaScript/TypeScript, Go, GraphQL, REST, gRPC, PostgreSQL, React, Next.js, Express, and Prisma ORM.
As a member of the Travel Agents team, I performed the duties of a full-stack software developer. Some highlights include:
- Overhauling the phone sales metrics system, greatly increasing the efficiency of GraphQL queries and implementing a more scalable metrics dashboard used by key stakeholders
- Automating periodic phone sales reports including a Slack integration for efficient monitoring
Software Developer Co-op
iQmetrix, May 2023 - August 2023
C#, .NET (Core & Framework) MSSQL, REST APIs, Load Testing (K6), Architecture Decision Records.
As a member of the Payments team, I performed the duties of a backend software developer. Some highlights include:
- Redesigning load test infrastructure for backend services to increase efficiency of test creation amidst scalability concerns
- Drafting an ADR to improve stability of a legacy system and presented the findings to stakeholders
Non-Nerdy Things

Hockey
4 Teams Annually
Outside of the tech world, I have always been an avid hockey player. I learned to skate when I was 3, and have been playing hockey since I was 5. I currently play on 4 different teams in recreational men's leagues around Winnipeg ranging in skill levels, including one team with my Dad, and another team with Junior players, College players, and an NHL draft pick.
Golf
Various Courses, Mostly in Manitoba
I have been golfing recreationally since I was a kid, where I played in a youth league at a local Par 3 course. I now golf more casually with friends and family at various courses around Manitoba.
Watersports
Wakeboarding, Water Skiing, etc.
As a kid growing up in Winnipeg, you spend a lot of time around the water in the summer. I have been wakeboarding and water skiing since I was young, and I am currently learning to slalom water ski (waterskiing on one ski).
Hiking
📍 Everywhere
A newer hobby of mine is hiking. Recently, I have been hiking in Vancouver, BC, Banff, AB, and just outside of Kenora, ON. Some of my favourites are the summit hike in the Murrin Provincial Park near Squamish, BC, and Devil's Bridge in Sedona, AZ.
If you're a hiker, send me an email telling me where I should hike next!
Travelling
📍 Wherever I Can
I have been fortunate enough to travel to many places around the world, primarily across North America. Some of my favourite places I have visited include: Banff, AB; Lucerne, SUI; Sedona, AZ; and New York City, NY. Right now, my goal is to explore more places in Canada!