Portfolio

My Work

Internal tooling, IoT platforms, and freelance builds. A selection of what I've designed and shipped.

Case Studies

5

Migrating 1.2 Million IoT Devices

Designed and shipped the multi-threaded Perl orchestration that moved 1.2M cellular IoT devices off Cisco Jasper onto Eseye's Integra platform, with under 30 minutes downtime per unit and no customer revenue lost.

Perl MySQL Cellular IoT Jasper Control Center Integra +1

NearestForest

Aug 2026 – Present

A free app that shows you the nearest Forestry England forests, closest first, and sends you there in one tap. It works with no phone signal, covers 904 forests and car parks, and has no sign-up, tracking or adverts. Designed, built and deployed in a day.

JavaScript PWA Service Worker Python PHP +3
View project →

ProgressBoard

Jul 2026 – Present

A cross-project work board for building with AI agents. Cards are markdown files inside each project's own repo and the folder is the state, so a state change is a git diff. Built after classifying 35 open cards and finding 26 of them were decisions waiting on me, not work waiting on a developer.

Laravel PHP 8.4 Blade Pest Git +2

RetireForecast

Jun 2026 – Present

A UK retirement and downsizing forecast engine: pension lump-sum tax, buy-cheaper versus rent, and run-out-of-money risk under Monte Carlo. The engine reproduces HMRC worked examples to the penny before any figure reaches a screen. Deliberately kept off the public internet for regulatory reasons.

Laravel PHP 8.4 PostgreSQL Livewire Filament +3

FireCRM

Jul 2026 – Present

A multi-tenant SaaS practice platform for UK fire and building-safety consultancies: CRM, projects, buildings and assets, assessments, floorplan markup, signed reports and debtors in one temporal system of record, forming a Building Safety Act golden thread. Currently in build.

Laravel 13 PHP 8.3 PostgreSQL Inertia Vue +3

Professional & Client Work

3

Product Builds

5

WinVault

WinVault

Apr 2026 – Present

A UK prize competition platform designed to sit firmly outside the Gambling Act 2005 (free entry routes on prize draws, genuine skill questions on Q&A comps), with the full compliance stack in place from the start: GDPR, KYC, self-exclusion, geo-restriction, VAT handling, and audited random draws.

Laravel PHP TailwindCSS React + Inertia.js MySQL +4
View project →

Constellia

Mar 2026

An in-progress personal build, currently paused: a self-hostable Discord alternative with real-time chat, forum channels, voice and video, and end-to-end encrypted DMs using the Signal Protocol, running on infrastructure you own.

TypeScript React 19 Vite 6 Node.js 20 Fastify +11
Regenesis – Guild Officer Dashboard

Regenesis – Guild Officer Dashboard

Apr 2026 – Present

Officer dashboard for the Regenesis (Silvermoon-EU) WoW guild. Pulls roster history from an in-game addon, attendance and event data from Raid-Helper, character progress from wowaudit and Raider.io, and renders the lot as Discord-role-gated widgets with a built-in event creator that publishes back to Raid-Helper and out to Google Calendar.

Laravel 12 PHP 8.4 MySQL Blade Alpine.js +11
View project →

BioTracker

Mar 2026

A comprehensive bio-tracking web application for personal health data logging.

Laravel PHP JavaScript MySQL

StudyHelper

Apr 2026 – Present

A Claude-powered study assistant that breaks academic coursework into bite-sized questions and drips them to you over Telegram, one at a time, so you can tackle them without getting overwhelmed (or bored) by the repetitive bulk.

Python python-telegram-bot Anthropic API SQLite YAML +1

Game Add-ons

3

Experiments

2