About Me
I build and run the backend systems behind content discovery and recommendations for Peacock, Sky TV and Showtime. I specialise in high-throughput Scala (Typelevel) microservices on Kubernetes, streaming events through Kafka into Cassandra. I run what I build: on-call, incident response, SLO accountability, and the profiling and tuning work that keeps p99 latency predictable at scale.
London, UK.
Key Skills
Core: Scala 3 (Cats Effect, FS2, Tapir), Kafka, Cassandra, Kubernetes.
Production tooling: OpenTelemetry, ArgoCD/Argo Rollouts, Istio, JFR/JMC profiling, AWS/GCP
Experience
- Service owner for the core orchestration service assembling recommendation rails across Peacock, Sky TV and Showtime. Accountable for uptime, error and latency SLOs, including on-call during live events, where traffic spikes sharply and issues are immediately user facing.
- Cut p99 latency by 80% (50ms to 10ms) on a hot path processing ~1M entities per page, by diagnosing allocation hotspots with JFR/JMC profiling and reducing GC pressure across the service.
- Improved end to end page assembly p99 from 300ms to 250ms while doubling throughput from 50 to 100 pages/sec per pod, through heap tuning and bounded thread pools after diagnosing saturated HTTP/2 connections to downstream ML recommenders.
- Parallelised and batched rail assembly so that a page of 100 rails adds under 10ms compared with a single rail request.
- Implemented progressive delivery with Argo Rollouts (canary and blue green deployments).
- Migrated production services from Akka to Typelevel (Cats Effect, FS2, Tapir), improving change lead time and long-term maintainability.
- Implemented OpenTelemetry tracing (otel4s) to improve incident triage across service boundaries and protect SLOs.
- Operated multi-region Kubernetes deployments (EKS/GKE) and configured Istio traffic policies (timeouts, retries, outlier detection).
- Supported peak live-event traffic across Peacock, Sky TV and Showtime, covering performance work and on-call.
- Deployed Scala microservices in Kubernetes on GCP and AWS.
- Set up Jenkins and ArgoCD CI/CD pipelines.
- Worked with Kafka and Cassandra for event-driven data processing.
- Built backends using Java (Spring Boot) and Node.js.
- Developed frontends with JavaScript / React.
- Implemented testing with JUnit5, Mockito, Jest, and Cypress.
- Career change from Project Management to Software Engineering via self-study (data structures, algorithms and software design) and personal projects.
- Managed delivery of 100+ web projects. Coordinated cross-functional teams, oversaw infrastructure (load balancing, DNS, security).
Projects
ESP32 ambient blood glucose visualisation (e-ink), integrating Dexcom API and environmental sensors.
- Embedded C++ on ESP32 with low-power design for battery-powered always-on display
- Dexcom API integration + e-ink UI for real-time and historical readings
- Hardware integration: BME280 + VCNL4040 sensors, charging circuitry
Python tool implementing anti-stylometry techniques for linguistic privacy.
Education
Portsmouth University
BSc Psychology
2009 - 2012
Dissertation focused on virtual vs. face-to-face communication efficiency.
A Little More About Me
Interests: outdoors, PC gaming, audio hardware, sci-fi/fantasy.