§02ProjectsAs-built
Selected work
Open any project for the write-up and, where there is one, a demo you can run here in the page.
TaskManager REST APILiveLive demo
Containerised REST API with EF Core and PostgreSQL, key-protected writes, and a signed image that my server deploys automatically.
Open →02Resume Classifier APILive
Sorts resume text into five job families with TF-IDF and logistic regression, served as an API from my home server.
Open →03aoda-scan
A command-line tool that crawls a whole website and grades it against WCAG 2.1 AA and Ontario’s AODA.
Open →04AgentMesh
A self-hosted control plane for running AI coding agents across several model providers, where every user brings their own keys.
Open →05Home Server
An old laptop run like production: Cloudflare Tunnel, signed pull-based deploys, monitoring and tested backups.
Open →06Train Yard Management SystemLive demo
Rail inventory and safety validation in C. Enforces weight limits, locomotive pull capacity and car-type protocols, with a test suite driving the same logic layer.
Open →07ArenaCore RPG EngineLive demo
C++ engine built around an abstract combatant hierarchy, applying the Rule of Three, operator overloading and manual memory management.
Open →08Inventory CRUD
Category and supplier management on ASP.NET Core MVC — Razor views, view models, and EF Core migrations against SQL Server.
Open →09This Portfolio
The site you are reading. React and Vite, a hand-built CSS design system, deployed to GitHub Pages by an Actions workflow on every push.
Open →§03Also built
Smaller pieces
C Projects
Baby name popularity search over census CSVs, and a train inventory console app.
View repository ↗—C++ Exercises
Marketplace, credit card validation, restaurant ordering, sorting, and a lexical store engine.
View repository ↗—C# Fundamentals
Console applications covering OOP basics — bank simulator, library manager, grade tracker.
View repository ↗—Shell Scripts
Utility scripts for development workflow automation.
View repository ↗—AI Programming Tools
Notes and references on prompting, neural network fundamentals, and software licensing.
View repository ↗Train Yard Management System
Rail inventory and safety validation in C. Enforces weight limits, locomotive pull capacity and car-type protocols, with a test suite driving the same logic layer.
§ LiveCompiled from C to WebAssembly
Loading the compiled validator…
A train is only allowed to leave the yard if it satisfies a set of coupling and load rules. This system models the yard inventory and validates a train against those rules before it can be signed off.
The interesting constraint is structural rather than algorithmic: engines must all sit at the front, freight weight cannot exceed the pull capacity the engines provide, wood and oil cars cannot be coupled adjacent to each other, and the first freight car can never be oil. Removing a car has to re-check all of it, because taking one out can invalidate what remains.
All console I/O is isolated in main.c, so train_yard.c is pure logic with no printf or scanf anywhere in it. That separation is what lets the same functions be driven by the test suite, and it is also what made the browser demo possible — the C is compiled to WebAssembly and called directly, with nothing reimplemented in JavaScript.