James Siddeley builds stuff for the web
Hi, I'm James! I like to build apps, games, and other stuff. I'm a fourth-year Computer Science student at McMaster, and just finished an internship at AMD.
Experience
- May 2025 – Aug 2026 1 yr 4 mos
Software Engineering Intern · AMD
Contributed to AMD's ROCm software stack on the ROCprof-compute team (16-month co-op).
- May 2024 – Aug 2024 4 mos
Supply Chain Data Analyst Intern · Enercare
Built VBA + SQL tooling that auto-generates Power BI reports, now used across Supply Chain operations.
- Aug 2021 – Sep 2025 4 yrs 2 mos
Swim Instructor / Lifeguard · City of Toronto Aquatics
Teaching swim lessons to all ages and keeping pools safe.
- Jan 2020 – Aug 2022 2 yrs 8 mos
Customer Service Representative · City of Toronto
Helped residents navigate municipal services through the pandemic.
- 2022 – 2027 4 yrs + 1 yr co-op
B.A.Sc. Computer Science · McMaster University
Focused on software development and theory of computation. GPA: 3.6.
Personal Projects
-
HedgeFantasy
Complete web application containing AI-powered reporting and analytics for NBA and NFL fantasy leagues. It includes weekly recaps, weekly power rankings, position heatmaps, a fantasy trade analyzer and MUCH MORE built off of data pulled from Sleeper's public API. PC and mobile supported!
(Click to try!) -
SVC Voice AI
Machine learning project training 20+ custom voice models locally with SO-VITS-SVC. Each model was fine tuned across many epochs on refined audio datasets.
(Click to play a song I produced, wrote and recorded with two of the models I trained locally!) -
Elemental Royale
Local multiplayer PvP fighting game with no game engine, instead utilizing Object Oriented Programming (OOP) built on raw HTML5 Canvas. Has a hand-written game loop, collision detection, and a chainable combo system, with 6 unique playable characters each with their own stats and abilities.
(Click to play the demo! PC only.) -
Pi Plays Pokémon
A Python + Lua content experiment exploring the monkey-at-a-typewriter theory. A python script parses the digits of pi in order, with each digit mapping 1:1 to an input in a GBA emulator playing Pokemon Emerald via Lua to see how far pure chance can progress.
(Click to see a recorded livestream!) -
SlimeScape!
A 2D maze adventure game built in Java with libGDX in Android Studio, featuring a custom level-parsing system that loads hand designed tiled maps. Move as a slime through mazes with tile-based collision handling and obstacle dodging.