Senior Software Engineer · React Native & Media Streaming
Available immediately
Senior Software Engineer with over 15 years experience, with a deep focus on media streaming, running my own company and building services across the industry. Most recently on the player team at Plex, working in React Native and TypeScript with native Swift and Kotlin underneath, shipping a single codebase to iOS, tvOS, Android, Android TV, Fire TV, Samsung Tizen and web. Before that, two years at 3SS building Vodafone's next generation set top box from the ground up, and two years at NBC PeacockTV across PeacockTV, SkyShowTime, and NowTV. My role at Plex was eliminated in October 2026 when the company cut 24 positions and restructured its development teams, so I am available immediately. Specialising in React Native on mobile and TV, video player architecture, DRM integration (Widevine, PlayReady, FairPlay), adaptive streaming (HLS, DASH, CMAF), and cross platform delivery across iOS, Android, web, Samsung Tizen, LG WebOS, Xfinity, and custom STB hardware.
Extensive ad tech experience: server side ad insertion (SSAI) on AWS Elemental MediaTailor, built into the S3Bubble workflow, live SSAI at NBC PeacockTV, FAST channel SSAI and client side VMAP ads at Plex, and my own SSAI stitcher for live and VOD across HLS and DASH with DRM on OTNet.
Agentic AI is how I build software now. At Plex the whole engineering workflow ran on it. A Linear ticket went into Claude Code, an agent planned and wrote the change, AI reviewed the pull request, and an engineer signed it off. We shipped production React Native, Swift and Kotlin that way every day, so this isn't something I've only tried on side projects.
Working like that taught me that agents are fast but not careful. Left alone, they duplicate logic, ignore the patterns already in the codebase and slowly wear the architecture down one pull request at a time. So I treat the architecture as my job. I set the boundaries and the contracts between layers and platforms, and I keep the agents working inside them.
Skills and plugins are how I make that stick. An agent will happily solve the same problem a different way every time, so I write the way a team works into Claude skills, plugins and MCP tooling: how to trace the code before changing it, how to keep platforms in parity, how to test and verify a change. Every engineer and every agent then works the same way, and the output stays consistent and easy to review.
Testing holds it all together. I write the tests first, so each agent has a clear definition of done, and I run agents in parallel with a plan agreed before any code is touched. Nothing lands until the E2E tests and on device checks pass. Along the way I question the decisions agents make, catch the regressions they introduce and push back when an AI review invents a fix for something that was never broken. That's what lets me take a feature from ticket to production cleanly, with code that's small, readable and easy for the next engineer to pick up.
Outside of work I built my own AI suite, a desktop app in Rust and TypeScript (vybecoding.sh), and I use it to build iOS apps in Swift, Android apps in Kotlin, Electron desktop apps and web platforms that run on a single API.
After 15 years as a software engineer, working with Claude and Codex feels like running my own dev team. The experience is what lets me direct that team well, and that combination is what I bring to a role.
Languages & Frameworks: TypeScript, JavaScript, React, React Native, Node.js, Swift, Kotlin, Angular, ElectronJS, LightningJS
React Native: New Architecture, TurboModules, Nitro Modules, Reanimated, Gesture Handler, Zustand, React Query, Metro, Maestro E2E, Storybook, pnpm / Turborepo monorepos
Video Players: Shaka Player, AVPlayer, ExoPlayer / androidx-media, KSPlayer (FFmpeg), DashJS, HLS.js, Custom MSE, CastLabs, Bitmovin, VideoJS
DRM & Protocols: Widevine, PlayReady, FairPlay, BuyDRM, EZDRM, SPEKE API, CENC / CBCS, CMAF
Ad Tech & SSAI: SSAI, CSAI, AWS Elemental MediaTailor (SSAI and channel assembly), manifest stitching, SCTE-35, VMAP, VAST, Google IMA SDK, FAST channels, pause ads, live catch-up
Mobile, TV & STB Platforms: iOS, tvOS, Android, Android TV, Fire TV, Samsung Tizen, LG WebOS, Hisense Vidaa, Custom STBs, DVB / OIPF
AWS Media: MediaLive, MediaPackage, MediaConvert, MediaTailor, MediaConnect, CloudFormation
AWS Infrastructure: EC2, Auto Scaling Groups, ELB / ALB, RDS (MySQL / Postgres), VPC, Bastion Hosts, S3, CloudFront, Lambda, IAM, Route 53. AWS Certified, production experience at scale
Tooling: Git / GitHub / GitLab, Jira, Linear, Sentry, Conviva, Jest, Vitest, Xcode, Android Studio, Agile / Scrum, Claude Code, MCP, Codex
Senior Software Engineer · Player Team (most recent)
Player team engineer on Plex's cross platform React Native client, shipping one TypeScript codebase to iOS, tvOS, Android, Android TV, Fire TV, Samsung Tizen and web, with native Swift and Kotlin underneath. My role was eliminated in October 2026 when Plex cut 24 positions and restructured its development teams, a company wide decision rather than anything to do with the work.
Senior Software Engineer · Vodafone
Built Vodafone's next generation set top box from the ground up. Also worked across Yettel, Entel, and OneTV, delivering live, catchup, start over, channel switching, on demand, and recordings. Worked closely with Nagra on DRM and content protection integration. Helped the team hit critical launch deadlines, working remotely from the UK.
Senior Software Engineer
Worked across PeacockTV, SkyShowTime, and NowTV. Focused on video start times, rebuffering reduction, and cross platform delivery at scale.
Founder & CEO · AWS Certified
Founded and scaled a cloud media streaming platform on AWS, distributing millions of video players monthly via API. Built the full product stack end to end, from encoding tools and DRM protected playback to the underlying Amazon infrastructure: large RDS databases, EC2 Auto Scaling groups behind Elastic Load Balancers, bastion hosts inside hardened VPCs for secure access, and the full AWS Media stack. AWS Certified, with hands on experience running production services at scale.
Bring your own infrastructure streaming platform with server side ad insertion built in. Publishers encode on their own machine, keep content in their own cloud bucket, and ship branded apps to every screen.
Built with: Next.js, AWS MediaTailor, Cloudflare R2 and Workers, Electron, FFmpeg, Shaka Packager, Lightning, SwiftUI, Kotlin
AI coding terminal. The desktop app runs your coding agents, and the phone app picks up the same sessions so you can keep working away from your desk.
Built with: Tauri (Rust), React, xterm.js, whisper.cpp, SwiftUI, Kotlin
Marketplace for creators selling AI generated music. Listeners preview for free and buy the full quality master to keep.
Built with: Next.js, Hono, Electron, SwiftUI, Kotlin, Firebase, Stripe, R2
Open banking app for UK limited company directors who find accounts and tax confusing. It reads your business bank account and Penny, the AI assistant, explains in plain English what you owe, when, and how much to put aside.
Built with: Next.js, SwiftUI, TrueLayer, Claude, HMRC APIs
Hex based word game. Spell words on a hexagonal board to claim territory, against the AI, a friend on the same device, or someone online.
Built with: SwiftUI, Firebase Realtime Database, Game Center, vanilla JS web client
Save a place by shaking your phone. It captures the GPS where you are standing, then you curate the spots into themed lists and share them.
Built with: Node.js, Express, TypeScript, Firebase Firestore and Auth, SwiftUI, Next.js, Tailwind
Go live on YouTube straight from your phone, with no stream keys or RTMP setup.
Desktop developer suite for LG webOS and Samsung Tizen TVs. Deploy, inspect and debug TV apps on real sets without the SDK ceremony.
Built with: Electron, Express, FFmpeg, MediaMTX, WebRTC
BA Hons Interactive Digital Media, 2:1
BTEC National Diploma Music Technology, Distinction, Merit, Merit
9 GCSEs (A–C) including English, Maths, Sciences
AWS Certified Cloud Practitioner