Projects
A few of my main projects, followed by the rest.
Canso Launch Windows
Built for the Mission Accepted Space Hackathon, hosted by MDA Space, the Canadian Space Agency and ShiftKey Labs. It figures out when a rocket could actually launch from Spaceport Nova Scotia: checking whether a launch can reach the target orbit, screening out unsafe windows, and estimating the odds that each window's weather will allow a launch. It's checked against real launches from other spaceports, landing within a few minutes of their recorded liftoff times.

DEEBug
A web tool that detects performance bugs in deep learning models and explains the fix. I worked on the Flask service and the Gemini powered explanation layer, in an Agile team tracked through Jira.
Normalized Entity Parser
Exam roster PDFs in, grouped summaries out. Built with one other developer for Dalhousie's Student Accessibility Centre, packaged as a Windows executable.

More projects
Click a project to see more.
▶SPECTRA-ICAEEG artifact removal algorithm2026
Built for SURGE NeuroHack 2026, where it won first place in the Machine Learning category. SPECTRA-ICA is an EEG artifact removal algorithm that removes only the specific frequencies and time windows where an artifact like a blink or muscle movement happens, instead of removing an entire signal component. It outperformed standard ICA cleaning on all seven evaluation metrics in a benchmark test.
▶TrajOTfMRI brain alignment model2026
Built with a team of six for SURGE Neurohack Fall 2026. TrajOT is a statistical model for aligning resting-state fMRI scans across different people, which normally have no shared timeline to align by. It estimates how confident it is in each subject's alignment and relies less on the subjects the data doesn't support, which improved alignment reliability over existing methods on real fMRI data.
▶RateEaseFull stack review platform2024
▶AquaTrackWater quality dashboard2024

Built for DeepSense's Ocean of Data Challenge. A Django app that analyses and visualises water quality trends across more than ten years of historical readings, with anomaly detection.
▶PrediHomeHousing analytics in R2025

An R and Shiny app that ranks Canadian provinces on affordability, using housing price index, unemployment and employment data from 1986 through projections to 2035.
▶LBookLibrary inventory system2024

A team built web application for book cataloguing and borrower tracking, on a MySQL database tuned for fast retrieval.
▶JSON CompilerRecursive descent parser2024

A Python scanner and recursive descent parser that takes JSON token streams and builds abstract syntax trees, with syntactic and semantic analysis on the way through.
▶Board Game SimulationJava, 8 by 8 grid2024

Four piece types, each with its own movement rules, on a command driven board. Built to practice object oriented design and command parsing.
▶color-contrast-checker2WCAG color contrast npm package2025

A lightweight npm package that checks whether two colors meet WCAG contrast guidelines at the AA and AAA levels, including the large text variants. It supports hex, rgb, hsl, hsv, named and integer color formats.
▶This portfolioPersonal portfolio site2025

My personal portfolio website, built with Next.js and Tailwind CSS to show my experience, projects, certifications and academic background.
