I'm a Software Developer at Energy One, building enterprise energy-trading (ETRM) systems in Python, C#/.NET and SQL, and I've just submitted my MSc Applied AI dissertation at the University of Warwick (WMG): benchmarking hybrid retrieval for enterprise RAG on FinanceBench. I like systems that have to be right: migrations that can't lose a ticket, guardrails that sit in front of an LLM, and converters that have to compute exactly what PyTorch computes.
I fix bugs I can reproduce, one pull request per bug, each with a minimal repro and a test that fails before the fix. Most of them come from comparing a converter or runtime against eager PyTorch on edge values (NaN, infinities, −0.0, integer overflow), or from feeding real documents to parsers.
10 merged · 23 open or in review, across 18 projects with 592,705 combined GitHub stars.
Merged
Open and in review
| SentryML · NatWest × Google Cloud Hackathon | An AI firewall that detects LLM prompt-injection attacks in real time. 97% accuracy at sub-millisecond latency, built in 48 hours, on GCP Cloud Run with SHAP explanations and Python and JavaScript SDKs. |
| Migrayt · B2B SaaS, founder | Automates project-data migration between Azure DevOps and Jira: a multi-tenant AWS platform built with Terraform, with tenant isolation and an AI data-processing layer. |
| OneSpot · Microsoft Teams app | Colleagues release parking spaces they aren't using and others claim them in one tap. 10 simultaneous claims give exactly 1 booking, enforced in the domain, by row locks and by PostgreSQL triggers. |
| PulseWatch · Wearables | A Cloudflare Worker that notices when my Fitbit isn't being worn and sends a Telegram reminder: a seven-state machine, 30-day baselines and a transactional outbox, for about £0 a month. |
| GrabStays · Founder | A verified platform for students to take over each other's tenancies, launched solo across two universities. |
| Paggio · Developer tool | Debug and replay webhooks. Launched on Product Hunt. |
- Ticket by Ticket: state, recovery and throughput in a Zendesk-to-Jira migration of 10,000+ support tickets (~99.8% success, ~5.4× throughput).
- RAG Autopsy: an independent study of where retrieval-augmented generation fails.
- OneSpot: one parking entitlement per person per day, from domain rules down to PostgreSQL triggers.
- PulseWatch: deciding whether missing heart-rate data really means a tracker is off.
Software Developer, Energy One · Jul 2025 – present Python tooling for a Zendesk-to-Jira migration of 10,000+ tickets (per-ticket state and resume, rolling six-ticket concurrency); LLM and RAG tooling for internal workflows; ETRM delivery from requirements to deployment.
Software Engineer Intern, Energy One · Sep 2024 – Jul 2025 · data processing for AI energy-market prediction, QA and load testing in a live trading environment.
Senior IT Support Engineer, Smarttel · Apr 2023 – Oct 2024 · infrastructure support for business clients, 95% resolution rate.
MSc Applied AI, University of Warwick (WMG) · 2025–2026 · dissertation submitted, awaiting results BSc (Hons) Computer Science with AI, Coventry University · 2022–2025 · First-Class Honours
The images and pull-request tables on this page are rebuilt every day from the GitHub API by a workflow in this repository.



