Skip to content

Samuel East

Senior Software Engineer · React Native & Media Streaming

Cardiff, South Wales, UKmail@samueleast.co.uklinkedin.com/in/samueleastdevsamueleast.co.uk

Available immediately


About

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 Engineering

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.

Skills

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

Experience

Plex

Aug 2026 – Oct 2026 · Permanent

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.

  • Client side ad insertion driven by VMAP ad tags in Plex's metadata: the player fetches the VMAP and plays the ad breaks alongside the content without touching the stream, using our own ad handling on ExoPlayer and Google's IMA SDK on AVPlayer
  • Shipped ads on FAST channels: live SSAI stitched into the linear stream, plus a client side pre roll at the front before the channel starts
  • Carried the ad tag through play queue rebuilds and fixed the ad pod lifecycle, seek blocking and the ad countdown
  • Worked on pause ads, showing an ad when the viewer pauses playback
  • Kept ads scoped to Plex's free streaming content, so media from a viewer's own server never carries an ad tag
  • Extracted the native playback layer into a standalone PlexPlayerSDK across Swift and Kotlin, a 134 file refactor, with a reference app and an automated SDK boundary check wired into CI
  • Worked across three playback engines: AVPlayer and KSPlayer (FFmpeg based) on Apple, ExoPlayer and androidx-media on Android, including engine selection by codec and content type
  • Rebuilt the seek path so the dpad, the remote's seek buttons and double tap gestures all run one implementation on Apple TV, Fire TV and Android, coalescing bursts of step seeks into a single engine seek to stop playback stalling minutes behind
  • Fixed seek preview thumbnails so they hold for the whole scrub, and brought them to the remote's seek buttons across both the current and the next player UI
  • Fixed Android picture in picture rendering and controls in Kotlin, hiding the OSD and fitting the video to the PiP tile
  • Added a post play overlay over the closing credits, and Siri transport commands that honour the skip interval asked for
  • Built plex-test, a Claude Code plugin that drives a real device or simulator through a library, measures start time, seeking and sustained playback against an adb audio counter, then scores the run and renders it in a dashboard
  • Added playback metrics for the skip buttons
  • Pinned the Android navigation bar hidden behind the OSD using react-native-edge-to-edge, including a patch to react-native-safe-area-context for a stale inset bug on Android 10
  • Delivered inside a fully AI driven workflow, writing custom Claude skills, MCP tooling and plugins so generated code stayed reviewable and grounded

3SS

Mar 2024 – Mar 2026 · Contract

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.

  • Integrated Nagra DRM and content protection
  • Manifest manipulation for live and catchup streams
  • Architected DVB/OTT playback switching using Shaka Player with seamless protocol handoff
  • Implemented Live, StartOver, TimeShift, Catchup, VOD, and recording playback with 7 day rolling buffer
  • Ported STB app to Samsung Tizen with minimal code changes
  • Reduced zapping times and improved playback resilience through KPI driven optimisation
  • Developed stall detection and custom debug UI for memory diagnostics
  • Created remote development suite using ZeroTier & Raspberry Pi for real time STB access
  • Built high performance UI with LightningJS optimised for low end STB hardware

NBC PeacockTV

Mar 2022 – Mar 2024 · Contract

Senior Software Engineer

Worked across PeacockTV, SkyShowTime, and NowTV. Focused on video start times, rebuffering reduction, and cross platform delivery at scale.

  • DASH, HLS and EME implementation across Web, Xfinity, and Samsung
  • Live catch-up on SSAI streams: when stitched ad breaks left the playhead behind live, raised the playback rate to drift it back to the live edge without a hard seek
  • BrightLine ad integration
  • MSE based playback and mid stream adaptive bitrate capping
  • AAMP player development for Xfinity X1 platform
  • KPI monitoring and performance optimisation using Conviva (VST, VSF)
  • Memory and CPU profiling on low end Samsung and Xfinity Xi3/Xi6 devices
  • CVSDK development in TypeScript with Jest and CI integration

S3Bubble

2014 – 2021 · 7 years

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.

  • ElectronJS encoding app with multi bitrate HLS/DASH, encryption, subtitles, thumbnails, and bulk upload
  • CloudFormation & Lambda automated encoding pipeline via MediaConvert
  • Architected resilient AWS infrastructure: RDS (MySQL/Postgres) at scale, EC2 Auto Scaling groups, ELB / ALB load balancers, multi AZ VPC with bastion hosts and IAM hardened security
  • Production live streaming workflow with MediaLive, MediaPackage, and OBS integration
  • Fully automated CloudFormation stack that spun up complete live streaming setups on demand, covering MediaLive channels, MediaPackage endpoints, IAM, networking, and DRM wiring
  • Studio approved DRM via SPEKE API with Widevine, PlayReady, FairPlay using BuyDRM and EZDRM
  • Built AWS Elemental MediaTailor server side ad insertion into the streaming workflow, alongside MediaLive and MediaPackage
  • Built and scaled a media streaming API and player serving millions of video players monthly across thousands of sites
  • AngularJS media streaming application integrated with AWS cloud workflows

Side Projects

Education

Swansea Metropolitan University

BA Hons Interactive Digital Media, 2:1

2007 – 2009

Swansea College, Tycoch

BTEC National Diploma Music Technology, Distinction, Merit, Merit

2003 – 2005

John Colet School, Wendover

9 GCSEs (A–C) including English, Maths, Sciences

1994 – 1998

Certification

AWS Certified Cloud Practitioner