Selected projects

Built out of curiosity, necessity, and a few hackathon weekends.

doxxme.net

A joke about updating my BIOS was misheard as updating my bio—and became a live personal-data sharing prototype. Built with Nathan Pannell and Paurav H Param at Cursor CodeChella, exploring an idea: choose what data to share with brokers and get paid for it. We deployed it during the hackathon and won both prize tracks we were eligible for.

  • Hackathon
  • Team project
  • AI-assisted
View project

Algorithm Visualizer

A pathfinding visualizer built from scratch to help people understand how different algorithms work. Build a maze, try different methods, and watch how each one finds a path.

  • Pathfinding
  • Visualization
  • From scratch

Studium

A programming language that explains its execution as it runs, narrating branches, loop iterations, and variable updates for students. Built in about six hours with Mahir Puri, Mansahaj Singh Popli, and Simran Cheema, using a Lark parser and scoped interpreter with core types, control flow, and clear error messages.

  • Python
  • Lark
  • Interpreters
  • Team project

RLMouse

Built and trained a reinforcement learning model to replicate human mouse movements, exploring the risks of technology that can imitate human behavior.

  • Python
  • Reinforcement learning
  • AI-assisted
More projects (14)

Talking Smoke Detector

Create characters with custom voices and personalities and talk with them in real time. Originally built to give a talking smoke detector its own character, using speech recognition, language models, and speech generation to power the conversation.

  • Python
  • Sesame CSM-1B
  • Faster-whisper
  • Llama 3.2

Silent Assassin

A Battlesnake bot built in an afternoon, combining basic movement algorithms with state-based decision logic. Finished second in the UVic Battlesnake competition.

  • Python
  • Algorithms
  • Battlesnake
View project

PyPhysSims

A rudimentary physics simulator built from scratch in Python.

  • Python
  • Physics simulation
  • From scratch

Neural Network

Building a neural network from scratch.

  • Neural networks
  • From scratch

Cornerstone

A custom webpage built for my scholarship.

  • JavaScript
  • Web development

YouTube Plus Chrome Extension

A Chrome extension with adjustable playback speed for MP4 videos and an ad-skipping feature for YouTube.

  • CSS
  • JavaScript
  • HTML
  • Chrome API
View project

GitHub Painter

Paint directly onto a GitHub contribution grid, or import an image and preview the result before committing. Built in Flutter, with Git and Bash handling the commits.

  • Flutter
  • Dart
  • Bash
  • Git
View project

Slideshow Extractor

A Python CLI that detects slide changes in video with OpenCV and exports the selected frames to PDF. Accepts a local MP4 file or a YouTube link.

  • Python
  • REST API
  • CLI

Packet Smart Client

A Python client that sends packets to a server and formats the responses for inspection.

  • Python
  • Packets

Personal Website

This portfolio, built with React and TypeScript. Static pre-rendering keeps the project content readable without JavaScript.

  • React
  • TypeScript
  • Vite
  • CSS

Minimal Wireshark Replica

A Python packet-analysis tool that inspects TCP capture files and reports on individual packets and connections.

  • Python

Valentine Website

A playful Valentine page with changing button positions, sizes, and messages. A small experiment in browser interactions.

  • HTML
  • Cloudflare
  • CSS
  • JavaScript
View project

Health Check

A browser-based break reminder with custom schedules, notifications, and audio cues. Save a routine or share it with someone else.

  • HTML
  • Cloudflare
  • CSS
  • JavaScript
View project

Motion Extractor Visualizer

A Python tool that highlights movement in video, making subtle changes easier to see. Automates motion extraction with MoviePy and supports YouTube video input through PyTube.

  • Python
  • PyTube
  • MoviePy
View project

Experience

  1. AbeBooks

    Junior Software Developer

    An Amazon company

  2. Zetron

    Software Developer

    Co-op

  3. Ingrooves Music Group

    QA Automation Development

    Internship

University of Victoria

Software Engineering · BEng program

Competitions

Short deadlines, small teams, and a lot of learning.

Cursor CodeChella

Project details

Built doxxme.net with Nathan Pannell and Paurav H Param. A misunderstanding about updating my BIOS sparked the idea of a profile that shares personal information live. We deployed the prototype during the event, with my live location appearing on its homepage globe. Our team won two of the three available prize tracks—the only two we were eligible for—including a first-place finish.

  • Hackathon
  • Team project

CyberSci Capture the Flag

Project details

Competed with Script Kiddie Elite alongside Mahir Puri, Mansahaj Singh Popli, and Philipp Sardaro. Our team worked through cryptography, steganography, forensics, reverse engineering, and network challenges, using Python scripts and security tools to investigate and test solutions.

  • Python
  • Kali Linux
  • Cryptography
  • Forensics
  • CTF

University of Victoria Engineering Competition

Project details

Won first place with a cross-platform Flutter app connecting tutors with students seeking academic support. Built in six hours with a Dockerized Go server and SQLite database, alongside Jaspreet Sidhu, Matthew Trent, and Hal Nguyen.

  • Flutter
  • Golang
  • Docker
  • SQLite
  • Dart
  • Python
  • REST API

Island Health's CODE HACK 2023

Project details

Built a prototype in 24 hours with Matt and Julia, connecting patient and doctor interactions through a shared health database.

  • Flutter
  • Dart
  • Node.js
  • Next.js
  • HTML
  • CSS

WEC - Western Engineering Competition (Software)

Project details

Worked in a team of 3 to design and implement a re-creation of the game Dots and Boxes within the span of 6 hours. The game featured an algorithm to figure out the best possible move to make for a computer vs human interaction, whilst also featuring a player vs player mode.

  • CSS
  • JavaScript
  • HTML

WEC - Western Engineering Competition (Mechanical Design)

Project details

Designed an insulated, impact-resistant heart-transplant carrier with a four-person team using limited materials. Our design won first place.

  • Tinkercad
  • Autodesk

BattleSnake Competition (Advanced)

Project details

Finished second in the UVic Battlesnake competition with Silent Assassin, a bot I built in an afternoon using basic movement algorithms and state-based decision logic.

  • Python
  • REST API
  • Web Server Hosting
  • Automation

Ultimate Tic-Tac-Toe Competition

Project details

Built a recursive move-selection algorithm for Ultimate Tic-Tac-Toe with a four-person team in six hours.

  • Python
  • Automation
  • Notebook

UVic GDSC Hack4Everyone

Project details

Virtual Assistant is a gesture-based computer control prototype built with Python, OpenCV, and MediaPipe, exploring alternatives to keyboard and mouse input.

  • Python
  • OpenCV
  • Gesture Recognition
  • Machine Learning
  • MediaPipe
  • NumPy
  • PyAutoGui
  • JSON
  • Tkinter