CompleteIndividual · Personal project
A full-stack scouting platform for goalkeepers, built from raw match-event data. Every keeper is compared only with peers from the same competition and season, and the sample size is always shown next to the number.
› 11 techs · Python
CompleteIndividual · Internship
Internship project: a centralised logging, alerting and monitoring platform with Serilog and the Elastic Stack for EDIGCIA, Ediprinter's management software for vehicle inspection centres.
› 10 techs · .NET
CompleteIndividual · Personal project
A personal budgeting app: enter what you earned this month and it tells you how much to set aside for bills, savings, investment, leisure, activities and unexpected costs. Works offline; the data never leaves the device.
› 6 techs · TypeScript
Technical exerciseIndividual · Backend exercise
An events, seats and orders API. One endpoint lists an event's free seats; the other reserves a specific seat — and two requests for the same seat can never both succeed, even across separate server processes.
› 5 techs · Node.js
Technical exerciseIndividual · Backend exercise from a written brief
An HTTP service that shortens URLs, redirects on lookup and counts how often each link is followed. No dependencies: Node's built-in HTTP server and SQLite.
› 4 techs · Node.js
CourseworkTeam · PDS course
Team coursework: a role-based REST API and an Angular dashboard for managing an organisation's announcements, invoices, orders, expense reports, member requests and warnings.
› 9 techs · Node.js
CourseworkIndividual · Object-oriented programming course
An online-shop simulation in C# and .NET 8, organised in layers: domain models, interface-backed repositories, business rules and typed exceptions.
› 2 techs · C#