All Projects

Everything I've built, from embedded systems to cloud-native apps

Landmine Detection Rover screenshot
Embedded

Landmine Detection Rover

Capstone project ranked #3 in discipline at TMU

A remote-controlled landmine-detection rover with real-time telemetry, built as a senior capstone project. The system combines custom hardware (ESP32/8266, Teensy, Raspberry Pi) with a full software stack including a React/WebSocket frontend for live control, a Python backend for data processing, and a MongoDB database for telemetry storage. Communication between distributed modules is handled via RabbitMQ (AMQP). The project involved PCB design, 3D-printed enclosures, module procurement, and Docker-based deployment.

  • Ranked #3 within discipline at University-wide Capstone competition
  • Custom PCB design and 3D-printed enclosures
  • Real-time telemetry via WebSocket + RabbitMQ
  • Multi-microcontroller architecture (ESP32, Teensy, Raspberry Pi)
CJavaScriptPythonMongoDBRabbitMQDockerESP32/8266Raspberry PiTeensy
Soccer Field Object Detection (YOLOv8) screenshot
AI / ML

Soccer Field Object Detection (YOLOv8)

Fine-tuning YOLOv8 for soccer broadcast analysis

Fine-tuned the YOLOv8 architecture on the SoccerNet-v3 dataset to detect key elements in soccer broadcast frames, including players, referees, balls, and field lines. The project explored data preprocessing for annotated game footage, model training and hyperparameter tuning, and inference visualization on real match footage from games like Liverpool vs. Real Madrid.

  • Trained on SoccerNet-v3 annotated dataset
  • Detects players, referees, balls, and field lines
  • Inference tested on real Champions League footage
PythonYOLOv8PyTorchOpenCVJupyter Notebook
EduTrack screenshot
Full-Stack

EduTrack

Academic roadmap tool for university students

A web application that creates a visual roadmap for Toronto Metropolitan University students, showing which future courses are available based on their completed prerequisites. The tool automates data retrieval by scraping university course pages using CheerioJS/Axios, significantly reducing manual input for both developers and end users. Students can explore major and minor requirements interactively.

  • Automated web scraping of university course catalogs
  • Interactive prerequisite chain visualization
  • Used by TMU students for course planning
ReactExpress.jsCheerioJSAxiosNode.js
ARM Cortex-M3 Embedded Media Center screenshot
Embedded

ARM Cortex-M3 Embedded Media Center

Interactive multimedia on MCB1700 dev board

An interactive multimedia center developed on the MCB1700 Development Board (LPC1768 Microcontroller). The project integrates an LCD display, joystick, potentiometer, and LEDs to implement features including a maze game, tic-tac-toe, and various visual demos. All code is written in bare-metal C targeting the ARM Cortex-M3 architecture using Keil uVision.

  • Bare-metal C on ARM Cortex-M3
  • LCD graphics, joystick input, potentiometer control
  • Implemented maze game and tic-tac-toe from scratch
CARM Cortex-M3Keil uVisionLPC1768
RentView 3.0 screenshot
Full-Stack

RentView 3.0

Microservice movie rental platform on Google Cloud

A microservice-based movie rental website deployed on Google Cloud Kubernetes Engine. This is the third iteration of the RentView project, evolving from a monolithic Java EE application to a fully distributed microservice architecture. Each service handles a distinct domain (catalog, users, rentals) and communicates via REST APIs, all orchestrated through Kubernetes.

  • Evolved from monolith to microservices over 3 iterations
  • Deployed on Google Cloud Kubernetes Engine
  • Domain-driven service decomposition
JavaMicroservicesKubernetesGoogle CloudDockerREST