Experience
2025–present
Software Developer
Elysium Software
Full-stack developer role specializing in custom solutions for small businesses.
Responsibilities include designing and implementing new features, maintaining existing codebases, and collaborating with clients to meet their needs.
- Created and maintained the Madilyn James mobile app on iOS and Android platforms.
- Designed and implemented new features across the backend API and responsive web frontend for the Madilyn James platform.
- Built and deployed computer vision microservices for object detection, classification, and AI-driven image generation from source images.
Technology: React Native, NextJS, Docker, AWS, OpenAI, and more
2022
Manufacturing IT Co-op
Onsemi
Co-op placement supporting quality, environmental, health and safety, and manufacturing IT.
- Migrated site intranet to a new incompatible version of Microsoft SharePoint and maintained pages and content.
- Managed manufacturing database using MySQL and developed new IO tools for internal users and audits through both SQL and Tableau.
- Modeled manufacturing processes and control systems for simulation and production automation using Siemens products.
- Documented current and new internal technical systems for operator use.
2019–2022
Superintendent's Assistant
Associated Paving and Materials Ltd.
Technology
Languages
C/C++, Java, Kotlin, Python, JavaScript/Typescript, PHP, Assembly
Graphics
OpenGL, GLSL, RenderDoc
Vision
PyTorch, TensorFlow, OpenCV, Ultralytics/YOLO
Web and Mobile
React Native, Next.js, Node.js, HTML/CSS, Flutter/Dart
Databases
MySQL, PostgreSQL, Firebase, SQLite, Tableau
DevOps
Git/GitHub, Docker, AWS, Linux, LaTeX, Autodesk
Education
2020–2026
BSc, Computer Science
Ontario Tech University
Focus: Computer Graphics and Vision, Databases and Web Development, Compilers.
Varsity rowing and hockey.
2015–2019
Ontario Secondary School Diploma — Ontario Scholar
Nelson High School, Burlington, Ontario
Varsity ski and snowboard, tennis, concert band
Awards
2020
CAA South Central Ontario Award — granted to one student enrolled at Ontario Tech University who achieved 85–89.9% average in grade 12.
Project highlights
Custom 3D Graphics Engine
A 3D rendering engine built from scratch in C++, GLSL, and OpenGL.
Technology
C++, OpenGL, GLSL
Role
Designed and implemented a full 3D engine featuring on-the-fly asset and shader loading, multiple lighting models, multiple camera types, and procedural terrain generation.
Fish Species Identification and Counting
A computer vision system for identifying and counting fish species in photos and video.
Technology
Python, YOLOv11, Ultralytics, PyTorch, OpenCV
Role
Compiled and curated training and test datasets across multiple species and environments. Trained and evaluated YOLOv11 models, tuning hyperparameters for species-level classification accuracy in photos and video.
Hobble — Custom Programming Language and Compiler open source
A toy programming language with a fully functional compiler, loosely based on the
GulfOfMexico joke spec.
Technology
Kotlin, ANTLR
Role
Designed the language grammar and semantics; implemented a compiler using ANTLR for lexing and parsing and Kotlin for semantic analysis and code generation. Supports data types, functions, loops, and conditions.
Driva — Multi-Platform Commute Tracking App open source
A mobile application for tracking and comparing commute times across platforms, similar to Strava.
Technology
Flutter, Dart, Firebase, Google Maps API, SQLite
Role
Contributed UI design and implementation of a cross-platform mobile app integrating real-time mapping, Firebase backend services, and local SQLite storage.
PongWin — Online Multiplayer Game open source
An online multiplayer Pong variant with real-time networking and multiple moving application windows.
Technology
Java, JavaFX, multithreaded networking
Role
Implemented a custom networking layer using Java sockets with multithreading for real-time game state synchronization; built a multi-window JavaFX UI where some windows are controlled by the player and others by the game.
Offsite File Storage Server open source
A self-hosted file storage server with a graphical client for sending text and files.
Technology
Java, Java Sockets, JavaFX
Role
Built a client-server file storage system using raw Java socket programming, with a JavaFX GUI for the client. Supports network messaging between clients and servers for text and any file type.