Explorer view

Experience

  1. Data & Software Developer

    May 2026 – Aug. 2026

    Blenheim Youth Centre · WE Accelerate: Data-Driven Solutions for Global Challenges · Waterloo, ON

    • Replaced paper sign-in for 100+ youth, identified a missing member database, built and installed an on-site React kiosk on PostgreSQL, set up RLS to hide personal data of the youth from the terminal, and shifted hours of manual transcription to one-click Excel exports.
    • Restructured a non-profit's Excel-based data systems, auditing and repairing 15 years of inconsistent membership, attendance, and donor records, and building Power BI dashboards connected directly to the kiosk database, replacing manual spreadsheets for non-technical stakeholders.
    • Within a 6-person team handing off to non-technical staff, set up the organization's newsletter email system, documented and trained staff to run the kiosk and Power BI dashboards independently with team feedback throughout, so staff can operate every tool with minimal maintenance.
    • React
    • PostgreSQL
    • Power BI
    • Excel
  2. Coding & Robotics Instructor, Curriculum & Software Developer

    July 2024 – Jan. 2025

    Ultimate Coders · Mississauga, ON

    • Solely led classes of up to 15 students of different ages and levels in Python, JavaScript, Java, HTML, and block-based robotics, designing curriculum and maintaining progression and attendance records to steadily build computational thinking skills.
    • Eliminated in-class progress checks for rotating instructors by integrating the coding platform's data into an instructor dashboard with attendance tracking, assignment grading, and progress notes, giving each student a formal record across instructor handoffs.
    • Python
    • JavaScript
    • Java
    • HTML

Projects

Open House AI

Oct. 2026
  • To give Ontario tenants and landlords neutral, law-backed answers, built a renting assistant that quotes the RTA and LTB guidance word for word, reviews a user's own lease against 19 legal checks, and scrubs personal data before any API call.
  • Answered 19/20 unseen tenancy questions correctly by LoRA fine-tuning Qwen3-8B on 1,969 verbatim-cited examples and serving answers through a FastAPI pipeline with hybrid BM25 + embedding search over 2,383 LTB decisions.
  • Python
  • FastAPI
  • MLX
  • Jev
  • Qwen3-8B (LoRA)
  • BM25 + Embeddings

Read To Me

Oct. 2026
  • To listen to physical books, built a native macOS app that turns photos of book pages into an .m4b audiobook, stripping headers, footers, and page numbers and rejoining paragraphs split across page turns.
  • Narrated pages at 2× real-time fully on-device and at $0 per book by pairing Apple Vision OCR with Qwen3-VL, reconciling the two readings word by word via longest-common-subsequence alignment, and voicing text with Qwen3-TTS on MLX.
  • Swift
  • SwiftUI
  • Apple Vision
  • Python
  • MLX
  • Qwen3-VL
  • Qwen3-TTS

Goose Nest

Sept. 2026
  • To help Waterloo students find housing on what matters locally, co-built a rental search in a 3-person hackathon team that ranks listings by transit access, budget, and goose exposure, with a per-factor score breakdown on every result.
  • Ranked 240+ rentals by building the enrichment and ranking services, geocoding listings via Google Maps, measuring distance to 19 ION LRT stops, GO stations, and highways, and scoring 1,789 iNaturalist goose sightings within 500 m.
  • Python
  • FastAPI
  • Pydantic
  • Google Maps API
  • iNaturalist API

VisionCart

Feb. 2026
  • To eliminate barcode scanning at checkout, built an AI-powered checkout system that identifies groceries from live webcam frames and generates a real-time receipt with tax and per-item nutrition.
  • Matched detections across a 100+ product inventory by enforcing structured JSON output from Gemini 1.5 Flash with a 422 fallback and Levenshtein-style fuzzy matching, served from Next.js 16 Edge-compatible API routes.
  • Next.js 16
  • TypeScript
  • Gemini 1.5 Flash
  • React
  • Tailwind CSS v4

StegoVault

2024 – 2025
  • To move sensitive credentials safely over untrusted channels, independently built a steganographic password manager that hides encrypted credentials in image pixels via LSB manipulation, leaving images visually indistinguishable from the originals.
  • Added a second layer of secrecy by designing a configurable LSB insertion order that acts as a secondary key, then refactored the pipeline from Python to Java with encapsulation, abstraction, and modular class design.
  • Python
  • Java
  • Pillow
  • LSB Steganography
  • OOP
  • Cryptography

Education

University of Waterloo

Sept. 2025 – April 2030

Bachelor of Computer Science (Honours, Co-op) · Waterloo, ON

  • President's Scholarship
  • J&S Harry-Paul Award of Academic Achievement in Math & Science