
Projects

D2Tracker
Stat tracker site for Destiny 2 which displays and compares player stats
View and filter a players previous activities
- React
- TailwindCSS
- TypeScript
- Bungie API

GridSweeper
Online multiplayer web game inspired by Minesweeper
Create custom grids which other players can play
Create and join lobbies to play with friends
Supporting private, coop, and competitive game modes
- React
- ASP.NET
- TailwindCSS
- TypeScript
- EntityFrameworkCore
- PostgreSQl

SortingVisualised
Visualisation of sorting algorithms, developed in pure HTML, CSS and JavaScript
Change the speed and size of the visualisation
Includes information on each sorting algorithm
- HTML
- CSS
- JavaScript
Journey
Intern Developer @ GuitarGuitar
06/2025 - Present
Designed and developed a modern blog platform with a new tagging system, CMS integration, and improved user experience
Created new database tables, models, services, and controllers to fully isolate the new blog from the old, enabling seamless switching via feature flags for backwards compatibility
Wrote SQL scripts to accurately migrate thousands of legacy blog articles into the new database tables
Built an area on the admin portal for the new blog, allowing editors to manage articles, categories, tags, and events
Integrated the new blog with the existing CMS, giving editors full control over articles and the blog homepage, and extended the CMS with custom blog sections
Implemented a shared banner image system to enable image reuse across articles, reducing storage

Duck Sauce Jam
02/2025
Developed an online multiplayer web game using a custom Entity Component System
Software Engineer @ Glasgow University Software Service
10/2024 - 05/2025
Led initial development of a policy comparison tool, responsible for full-stack development using Django
Implemented the continuous development pipeline for the tool with GitLab CI/CD on DigitalOcean Ubuntu droplets, aiding future development
Used Cloudflare D1, Workflows, and Workers AI to develop a distributed scraper with two independent workflows for site crawling and data extraction
Optimised performance by trimming unnecessary HTML elements to reduce the context window, and enabling user-defined filters to enqueue URLs based on specific criteria

DYHTG Hackathon
10/2024
Developed backend for online multiplayer web game using Colyseus.js for lobby management and Matter.js for physics simulation
Team secured runner-up position for the challenge
DYHTG Hackathon
10/2023
Conducted data analysis on csv datasets using Python and MatPlotLib
Code Olympics
02/2023
Solved a variety of bite-sized algorithmic coding challenges
Coding Tutor @ Code Cadets
01/2023 - Present
Teaching Python, HTML, CSS, and JavaScript to young learners, simplifying concepts for better understanding
Led code-along sessions for a simple JavaScript clicker game, fostering a fun and engaging learning experience
MSci Computing Science @ University of Glasgow
09/2022 - 05/2027 (Expected)
Started degree in Computing Science