Projects

Selected projects

Most of this work was done for employers, a research lab, or coursework, so the source code is private. The projects with a GitHub link are public; I'm happy to talk through any of the rest.

Machine learning

Echocardiography report generation

A reimplementation of Stanford's EchoPrime that generates structured reports from multi-view ultrasound videos.

  • Adapted the pipeline to UBC's proprietary clinical dataset.
  • Fine-tuned a text encoder with contrastive learning on millions of echo videos and thousands of cardiac reports to improve video–report alignment.
  • Multimodal learning
  • Contrastive learning
  • Medical imaging

LLM benchmarking framework

A provider-agnostic framework for comparing LLMs on image-based IP infringement detection.

  • Integrated OpenAI, Google, Anthropic, Mistral, and AWS APIs behind one interface.
  • Raised image-analysis accuracy by 5–10% with prompt optimization, multi-step reasoning chains, and grounding.
  • Fine-tuned Gemini 1.5 Pro and Flash models on proprietary IP datasets, achieving a 5–10% improvement in intellectual property recognition accuracy over baseline models.
  • LLM evaluation
  • Prompt engineering
  • Fine-tuning

Real-time image classifier

ViT and hybrid ViT-CNN models that detect images containing valuable assets.

  • Collected 80,000+ images and built a Hugging Face API pipeline for training data.
  • Cut latency by 75% with TorchScript compilation, knowledge distillation, and INT8 quantization.
  • Computer vision
  • Model compression
  • Hugging Face

ROS autonomous vehicle

An end-to-end autonomous driving system in ROS, running in the Gazebo simulator.

  • Deployed neural networks for perception and control.
  • Trained a CNN via imitation learning to follow lanes and navigate from camera input.
  • Built an OpenCV preprocessing and labeling pipeline to generate supervised training data.
  • Python
  • OpenCV
  • TensorFlow
  • ROS
  • Imitation learning
  • Simulation

Software

Sleeper fantasy football assistant

A web app that connects to a Sleeper fantasy football league by username and shows standings, rosters, matchup lineups, and player stats scored under the league's own rules.

  • Standings, rosters, lineups, and a searchable players tab, with projected and actual points calculated from each league's scoring settings.
  • Python and FastAPI backend, Next.js and TypeScript frontend, and Postgres storage.
  • CI runs strict type checking, tests, linting, and accessibility checks.
  • Early development: consensus rankings, waiver and trade suggestions, and a playoff-odds simulator are planned next.
  • Python
  • FastAPI
  • Next.js
  • TypeScript
  • Postgres

View source on GitHub · Live demo

This website

A static site built with Astro, with no client-side framework.

  • Automatic dark and light themes, a responsive layout, and accessible markup.
  • Linted in CI and deployed to GitHub Pages with GitHub Actions.
  • Astro
  • CSS
  • GitHub Actions

View source on GitHub

Liver health assessment platform

A web-based diagnostic platform for a medical device, built in a 3-person agile team.

  • C++/JavaScript backend with a WebSocket server for low-latency data exchange between device code and a browser GUI.
  • Python REST API managing SQLite databases for patient and device records.
  • C++
  • Python
  • WebSockets
  • REST