Bio
I'm a Computer Science student at the University of Waterloo. I want to build honest software that helps people, and I'm drawn to full-stack development, automation, and systems with real users. Lately I've been most curious about computer vision and AI/ML, and I hope to pursue research down the line.
Outside academics I stay active through climbing, volleyball, reading, and cooking. Learn more about me below.
Work Experience
Software QA Analyst — Environment and Climate Change Canada
Sept. 2025 – Dec. 2025 · North York, Canada
- Designed and maintained end-to-end (E2E) regression suites in Python, Robot Framework, TypeScript, and Playwright, cutting manual test cycles by 60% and surfacing 20+ defects ahead of release.
- Owned cross-environment functional, integration, and usability test plans, validating new features and defect fixes through UAT sign-off.
- Drove defect triage in Azure DevOps by sharpening reproduction steps and consolidating duplicates, lowering duplicate report rate by 40%.
IT Technician and Support Analyst — Environment and Climate Change Canada
May 2025 – Dec. 2025 · North York, Canada
- Delivered Tier 1 and Tier 2 support for 200+ end users, cutting average resolution time by 50% by writing reusable diagnostic playbooks.
- Built PowerShell and Python automations for account provisioning and software deployment, reducing onboarding effort by 35%.
- Deployed and hardened Windows workstations at scale with Microsoft Autopilot, Intune, and Entra ID, standardizing setup across the team.
ServiceNow Software Developer — ServiceNow Developer Program
Jan. 2025 – Aug. 2025 · North York, Canada
- Shipped Client Scripts and UI Policies that automated multi-step approval workflows, removing repetitive manual steps for end users and tightening process consistency.
- Used the GlideForm and GlideUser APIs to add dynamic validation and role-based UI behavior, improving data quality at intake.
Projects
H[AI]r Swift, SwiftUI, iOS in progress · private
A native iPhone app I'm currently building in SwiftUI. Focused on a clean, responsive user experience; more details coming as the project matures.
Chess Engine C++
Built an object-oriented chess engine in C++ as my CS246 final project, implementing full rule enforcement — castling, en passant, promotion, and check/checkmate detection — alongside a tunable AI opponent powered by minimax with alpha-beta pruning. GitHub
Quote Finder Python, Flask, React, TensorFlow
Full-stack app that surfaces relevant quotes and verses from natural-language prompts using sentence-transformer embeddings and cosine similarity, served through a Flask REST API and consumed by a React front-end. Reached 85% relevance accuracy on a held-out evaluation set. GitHub
Image Lab Python, Tkinter, Flask, OpenCV, Docker
Desktop image-processing app exposing 10+ OpenCV transformations through a Tkinter GUI, backed by a containerized Flask REST API and verified with Postman. Profiled and rewrote the processing pipeline to bring end-to-end runtime from 2.5s down to under 1s, and integrated Real-ESRGAN to clean up low-quality uploads. GitHub
Magestic Brawl Python, Pygame-CE Gymnasium currently adding new features and reinforcement learning
A 2-d streetfighter game that uses magestic characters. Written in Python and I try to improve it whenever I have the time. GitHub
ML Notes Markdown, Python (Pandas, Tensorflow, Numpy, PyTorch)
An evolving ML/AI learning sandbox with study notes, notebook experiments, and chapter-by-chapter work from hands-on machine learning resources. GitHub
Notes Markdown
An open, growing collection of notes spanning coursework, papers, tools, and ideas I want to keep close at hand. Public so others can read along or borrow from it. GitHub
ECCC Scripts Python
During my co-op at Environment and Climate Change Canada, I made a few scripts to help boost my productivity at work. I changed the scripts to be generic since I can't display any data that I used while working. GitHub
Self-Driving Race Car Python · PyTorch · Gymnasium
Rebuilding a deep reinforcement learning agent that learns to drive a race car from raw pixels. The agent uses DQN to navigate a procedurally generated track in the CarRacing-v3 environment, with the goal of scoring 900+ averaged over 100 races. A rewrite of an existing TF1 implementation, now in modern PyTorch. GitHub
Neural Ronin Python · Pygame · Gymnasium · Stable-Baselines3 in progress
A 2D samurai platformer built as a reinforcement learning training environment. The game is built from scratch using the pygpen engine, featuring sprite animations, physics, tilemap-based levels, and combat. A Gymnasium wrapper exposes the game as an RL environment, with a PPO agent trained via Stable-Baselines3 to learn to fight through levels from game state observations. GitHub
Study Room Python · FastAPI · WebSockets · SQLite · Vanilla JS in progress
A real-time co-working web app where people create a room, share the link, and get a synced Pomodoro timer, live presence, a sticky-note corkboard, and Spotify "now playing" cards — no accounts, the unguessable room id in the URL is the only key. Built on FastAPI with WebSocket broadcasts for per-room state, the timer stays in sync without per-second server ticks by broadcasting only the end time and letting each browser correct for clock skew locally. Persistent data lives in SQLite while ephemeral presence stays in process memory. Deployed on Fly.io. GitHub
Reading
Papers and writing I've been working through. Nothing published of my own yet — I'm reading to follow what interests me and to get better at engaging with research.
Link You can view my annotations to these papers via this link.
- Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data — A practical super-resolution model trained on synthetic data to upscale real-world low-quality images. I used it in Image Lab to help clean up uploaded images.
- How to Read a Paper — A short guide on the three-pass method. I wanted to read papers more effectively as a student and (hopefully) future researcher.
Blog
Writing occasionally. Nothing published yet — check back.
Misc
- I play volleyball — especially beach volleyball. Here are some random clips of me playing.
- I also like to work out and rock climb.
- I like to cook, bake, and eat food.
- When I have the time, I read books.
- I agree with this website, so no frameworks were used to build this one.