_Projects

AI, web and mobile work, plus the learning projects that came first.

The ones worth your time

The builds I would show you first. Click any card for the full write-up.

ModelViz cover
ModelViz
Compare AI models across providers with real-time metrics, cost analysis, and 3D visualisations.
Next.js 16React 19TypeScriptThree.js
The Kicker cover
The Kicker
Premier League predictions as a tabloid broadsheet. The Butler model’s honest probability bars, written up by ten original AI columnists.
Svelte 5TypeScriptDixon-ColesFastAPI
Morpheus cover
Morpheus
Ask questions about your own documents and get answers where every claim points at a real passage. Runs entirely on your machine.
OllamaLanceDBFastAPINext.js
AI & Agents Portfolio cover
AI & Agents Portfolio
Portfolio of AI projects from the Codecademy 6-week bootcamp demonstrating LangChain, RAG, and multi-agent architectures.
Next.jsTypeScriptTailwindAnime.js
The Matrix Arcade cover
The Matrix Arcade
Twelve Matrix-themed arcade games in one Phaser-powered cabinet, with a shared save system, achievements and offline play.
ReactPhaser 3TypeScriptPWA
Sanctuary cover
Sanctuary
Native iOS app for daily neurodiversity functioning, in active build with Swift after roughly two years of research and development.
SwiftXcodeiOSNeurodiversity

Everything

Some of these were built to learn something specific. Some were built because I wanted them to exist. The tags tell you which.

ModelViz screenshot
ModelViz
Compare AI models across providers with real-time metrics, cost analysis, and 3D visualisations.
Next.js 16React 19TypeScriptThree.js
TypeScriptAI & ML
The Kicker screenshot
The Kicker
Premier League predictions as a tabloid broadsheet. The Butler model’s honest probability bars, written up by ten original AI columnists.
Svelte 5TypeScriptDixon-ColesFastAPI
TypeScriptWeb
The Premier League Oracle cover
The Premier League Oracle
Premier League predictions from a Dixon-Coles engine that ships as a few kilobytes of coefficients and runs entirely in your browser.
Svelte 4Dixon-ColesXGBoostFastAPI
TypeScriptAI & ML
ISQ Agent cover
ISQ Agent
RAG agent that completes supplier security questionnaires, grounding every answer in policy, scoring confidence, and flagging weak answers for human review.
ClaudePineconeFastAPIn8n
PythonAI & ML
Offshore Property Map cover
Offshore Property Map
Who owns England and Wales, from where? Entity resolution across two government registers that share no common identifier.
SplinkDuckDBFollowTheMoneyEntity resolution
PythonAI & ML
OctopusJobHunter cover
OctopusJobHunter
Extra hands for a job search. Sixteen job boards in ten seconds, a tailored CV in four formats, and a tracker you own.
PythonReportLabPlaybooksLocal models
PythonAI & ML
AI Code Generator cover
AI Code Generator
Full-stack code generation platform. Describe what you want, get production-ready code with tests and docs in 10 languages.
Next.jsFastAPILangChainGPT-4
PythonAI & ML
SQL Ball Analytics cover
SQL Ball Analytics
Football analytics platform converting natural language to SQL queries across 22 European leagues and 7,600+ matches.
SvelteFastAPISupabaseRAG
SvelteAI & ML
Morpheus screenshot
Morpheus
Ask questions about your own documents and get answers where every claim points at a real passage. Runs entirely on your machine.
OllamaLanceDBFastAPINext.js
PythonAI & ML
ReviewBot Protocol cover
ReviewBot Protocol
A GitHub webhook that sends a pull request diff to GPT-4o-mini and posts the review back as a comment.
FastAPIGitHub APIGPT-4o-miniReact
PythonAI & ML
News Perspective cover
News Perspective
AI-powered news analysis that rewrites sensationalised headlines and generates TLDR summaries across US and UK sources.
Next.js 16FastAPISQLiteNewsAPI
PythonAI & ML
AI & Agents Portfolio screenshot
AI & Agents Portfolio
Portfolio of AI projects from the Codecademy 6-week bootcamp demonstrating LangChain, RAG, and multi-agent architectures.
Next.jsTypeScriptTailwindAnime.js
TypeScriptAI & ML
Commercial Portfolio cover
Commercial Portfolio
Professional commercial portfolio showcasing 3+ years of full-stack development. Built with React v2.0 architecture.
ReactTypeScriptViteNode.js
ReactWeb
.NET/React Calendar cover
.NET/React Calendar
Full-stack calendar app with .NET Core 9 FastEndpoints backend and React frontend. Built for a job application, to commercial patterns: SOLID, FluentValidation, a circuit breaker, and xUnit coverage across the layers.
.NETReactC#Fast Endpoints
C#Portfolio
CSS Learning Showcase cover
CSS Learning Showcase
Interactive CSS reference with 30+ pages of live demos, playgrounds, and modern features like container queries and :has().
CSS:has()Container QueriesResponsive
CSSPortfolio
The Matrix Arcade screenshot
The Matrix Arcade
Twelve Matrix-themed arcade games in one Phaser-powered cabinet, with a shared save system, achievements and offline play.
ReactPhaser 3TypeScriptPWA
TypeScriptGames
Big Bang Canvas cover
Big Bang Canvas
Responsive gallery of 50+ AI-generated cosmic artworks with 3D tilt effects, custom cursor, and keyboard navigation.
CanvasAnimationCreativeDesign
JavaScriptPortfolio
Python Projects Collection cover
Python Projects Collection
Collection of Python hobby projects: mathematical tools, climate visualisation, AI assistants, and interactive games.
PythonAlgorithmsMLGames
PythonPortfolio
Version TimeTravel cover
Version TimeTravel
A working archive of every version of this site since 2024. Every one still runs, in the browser, as it originally shipped.
TimelineInteractiveArchive
JavaScriptPortfolio
Sanctuary screenshot
Sanctuary
Native iOS app for daily neurodiversity functioning, in active build with Swift after roughly two years of research and development.
SwiftXcodeiOSNeurodiversity
SwiftMobile

Want the long version?

One of these is written up properly: the problem, the architecture, and what I would do differently. If the shape of it looks like something you have, say so.