Projects
Personal builds and team projects across software, Linux infrastructure, robotics, and engineering design.
Linux Home Server / NAS
Ubuntu · Docker · Docker Compose · Bash · SMB · Cloudflare
Built and maintain a self-hosted environment for media streaming, cloud file access, and shared storage using an Ubuntu server and a 4 TB external drive.
- Deployed Jellyfin, Navidrome, and Nextcloud, with SMB file sharing for local devices.
- Configured persistent storage, filesystem mounts, and permissions for application and client access.
- Configured automatic service startup after boot.
- Enabled remote access to hosted applications through a Cloudflare-managed domain.
- Troubleshot storage access, service startup, and media-library configuration while maintaining the system.
FTC Robot Control Software
Java · FTC SDK · PIDF Control · 2024–25 season
Led programming for Team 22035’s competition robot, developing autonomous and driver-controlled behaviour.
- Implemented and tuned PIDF control for the main scoring arm.
- Addressed the changing holding torque required as the arm extended, helping it maintain position during scoring.
- Calibrated and tested autonomous routines for competition use.
The team participated in the 2025 Ontario Provincial Championship and earned the Inspire Award 2nd Place at Mississauga and the Connect Award at North York.
Read about my progression from junior programmer to programming lead
Chess — CS50 Final Project
Python · Object-Oriented Programming
Built a local multiplayer Chess application and used it as my CS50 final project.
- Implemented game-state management, turn handling, and rule enforcement.
- Organised the game around players, turns, and the board.
Scrabble
Java · Object-Oriented Programming
Developed a local multiplayer Scrabble game for two to four players.
- Implemented scoring, game-state management, and turn handling.
- Structured the game around player and board interactions.
Raspberry Pi Smart Mirror
Raspberry Pi · Python · Hardware Integration
Built a smart mirror combining a display, a Raspberry Pi, and a one-way glass panel.
- Integrated a dashboard with real-time information modules.
- Configured automatic startup for always-on operation.
- Combined the physical enclosure and display with the software setup.
CIV102 Matboard Bridge
CAD · Structural Analysis · Fabrication · Team project
Designed and built a 1,200 mm-span box-girder bridge as part of a three-person engineering team.
- Created the full CAD model and engineering drawings.
- Optimised component layouts to fit the available matboard.
- Refined diaphragm spacing and geometry and contributed to calculations and assembly.
- Compared predicted failure locations with observed joint failure during testing.
Interactive 3D Portfolio
Three.js · JavaScript · Fusion 360 · HTML/CSS
Developed a desk-themed portfolio scene that uses interactive objects to present personal background and project information.
- Integrated a detailed CAD model into a Three.js scene.
- Added CSS2D labels and interactions around objects including a laptop, phone, resume, and degree frame.
Engineering Design Projects
GripRestore — Praxis II
Contributed CAD work and testing to a team project developing a chalk-based grip solution, and helped communicate the design through a poster and one-page summary.
Retractable Cable Mechanism — Praxis I
Contributed to a spring-based retractable cable design, using a Pugh chart to compare concepts and prototypes to explore the mechanism.
Other Programming Work
- Pig Dice Game: a local multiplayer game written in Java.
- PHY180 Pendulum Lab: Python code supporting a first-year laboratory project.
- Turtle Art: illustrations created using Python Turtle and manually specified coordinates.