Skip to content

Portfolio

Projects

End-to-end work, from the question underneath the one I was handed to how far the answer actually goes. Filter by discipline to explore.

01

Canadian Tobacco Research Foundation · 2026

Ontario Tobacco Pathology Assistant

A grower can lose a crop to a misread leaf symptom. This tool takes a written description and photos of a sick plant and returns ranked likely conditions with the cited source behind each one, follow-up questions where the evidence is thin, and a refusal when it cannot make a confident call.

AgricultureDiagnosticsLLM retrieval
02

Co-founded venture · ongoing

SwingDNA

Two consumer cameras, no markers, and a 3D reconstruction of a golf swing accurate to roughly 9 to 11 mm per joint. I wrote the triangulation and biomechanics layer on top of RTMPose for 2D keypoints and OpenCV for the camera geometry. Every metric carries uncertainty propagated from that geometry, and joints the cameras could not see are flagged rather than filled in, so a change between two sessions can be told apart from the noise of the system.

Sports & movementComputer vision3D kinematics
03

Honours thesis · expected April 2027

Cost-Effectiveness of the JAKPOT Rule

When is a genetic test worth ordering at all? A decision-analytic model comparing a clinical rule that selects which patients receive JAK2 mutation testing against testing everyone referred for erythrocytosis in Ontario, with parameter uncertainty carried through to the result rather than reported as a single number.

HealthcareHealth economicsR
04

Course group project · 2026

Housing Burden Analysis

Out of more than 1,100 candidate variables on Canadian household data, which ones actually predict whether a household is housing burdened, and do the high-risk households fall into distinct types? Elastic Net and XGBoost with SHAP to find and explain the drivers, PCA, UMAP and K-Means to separate the population into profiles.

Public dataMachine learningPython

In progress

Due January 2027

NFL Big Data Bowl 2027

Competing in the ninth annual Big Data Bowl on NFL player tracking data. The entry will report what the analysis cannot resolve and how much additional data it would take to resolve it.

Target March 2027

Hockey Metric Reliability

How many games before a given player metric is signal rather than noise, and how large a within-player change has to be before it is detectable rather than drift. The same reliability machinery as SwingDNA, on public hockey data.