2026
Operational jobs platform
Built a permissioned web interface for launching Kubernetes Jobs, tracking execution and inspecting captured output.
More of the work
Specific changes, projects and teaching work. Each entry links to a case study or role summary with more context.
22 contributions
Reset filtersEntries group related changes. Year filters use the case-study or project period; each story explains the scope of its results.
2026
Built a permissioned web interface for launching Kubernetes Jobs, tracking execution and inspecting captured output.
2026
Used ordered row locks to prevent equivalent jobs running concurrently, with reconciliation against Kubernetes state.
2026
Replaced per-meter queries with batches of 1,000: 200,001 queries become 201 in the query model for 100,000 meter points.
2026
Limited ordered inputs before combining message results; recorded SQL execution fell from about 63 seconds to 16.5 ms in the query benchmark.
2026
Replaced full-table counts and added filter indexes, eliminating timeouts on a view spanning approximately 26 million records.
2026
Safely removed 11 redundant PostgreSQL indexes across two estates, reclaiming approximately 1.43 TB.
2025–2026
Blocked approximately 483,000 invalid updates per month across two enterprise clients.
2025–2026
Corrected overlapping meter dates, preserved required fields and built bulk repair tooling with dry-run support.
2025–2026
Fixed a validation defect responsible for 3.7 million application errors, adding regression tests and diagnostic logging.
2026
Implemented and tested SSO for two organisations using OIDC, Okta and django-allauth with email-domain routing, plus signed access to a related service.
2026
Introduced a new settlement uniqueness constraint, updated application lookups, then removed the old constraint to accommodate rolling deployments.
2026
Reused an S3 client instead of creating one per message in a consumer handling a reported 247 million notifications monthly.
2025–2026
Fixed a handler that mixed historical and current meter details so it selected the latest complete set for the meter.
Nov 2024–Sep 2025
Developed Python and Django REST APIs with VR developers for AI-driven roleplay.
Nov 2024–Sep 2025
Built file ingestion and processing, with JavaScript, HTML and CSS frontend features.
Nov 2024–Sep 2025
Sep 2023–Sep 2024
Led a team of six, translated charity requirements into features, and deployed the Django application on Google Cloud.
Sep 2023–Sep 2024
Migrated the application from Google Cloud to DigitalOcean with zero downtime.
Jun–Aug 2023
Built an internal Python and Three.js tool and demonstrated it at the Etihad Stadium.
Sep–Dec 2022
Designed and taught a ten-week fundamentals course for university students.
An ongoing interest
A searchable collection of recipe flow tables with a print-friendly view.
Sep 2020–Jul 2024
Completed the University of Exeter integrated master’s degree with a 2:1, September 2020–July 2024.