
Software Engineer
I build whole things. Fifteen years of it, mostly in video, on every screen from a phone to a set top box, plus the automation and tooling around it and the occasional bit of hardware.
Same career, told for the job you are hiring for. Read them at /cv.
Live · OTNet circle player
About

Samuel East
Senior Software Engineer with 15+ years experience, specialising in media streaming. Cardiff, UK.
I have been working in software engineering for over 15 years, with a deep focus on media streaming, running my own company and building services across the industry. Most recently I was on the player team at Plex, working in React Native and TypeScript with native Swift and Kotlin underneath, shipping one 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.
Video is where most of that experience sits: player architecture, apps on mobile and TV, DRM, adaptive streaming, and getting one codebase onto every screen a service ships to. Fifteen years of it, so most of the hard problems in that world are ones I have met before.
Underneath all of it, I just love building things. Automation and testing, tools that take the tedious part out of somebody's day, and anything that joins software to the physical world, where you tap a phone and something in the room actually responds. Media has been the thread running through my career, but it is not the whole of what I enjoy.
The side projects below are the honest version of that: a streaming platform, a terminal for AI coding agents, a music app, a word game, a developer suite for television sets, and an app that drove the lighting on a yacht. I build them because I want to, and they are usually where I learn the thing I end up using at work.
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
React Native
Video Players
DRM & Protocols
Ad Tech & SSAI
Mobile, TV & STB Platforms
AWS Media
AWS Infrastructure
Tooling
Experience
Broken down by the parts of the video pipeline I've worked on, from encoding through to playback, ads and analytics.
Plex
Aug 2026 – Oct 2026 · PermanentSenior 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 · ContractSenior 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 · ContractSenior 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
Just some geeky stuff. I loved the CI suite here, and I love automation and testing, so a day in the device lab was a good day.
S3Bubble
2014 – 2021 · 7 yearsFounder & 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
OTNet
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
Vybe Coding
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
Audibase
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
Claw Machine
A real arcade claw machine you can play over the internet. The gantry came from Alibaba, the cabinet from an arcade dealer, and the controls are driven remotely with a camera inside for the view.
Boat Controller Lighting App
iPhone lighting control for high end yachts. The app speaks Art-Net over UDP to the colour wheel controller on board, driving every light on the boat over its own network with no cloud and no internet in the loop.
Built with Appcelerator Titanium, JavaScript, iOS, UDP sockets, Art-Net
Appapella
Pick an instrumental, rap or sing over it, and it comes back mixed, in a vertical swipe feed where you can hear everyone else's version of the same beat. A rebuild of my original iOS app, with the mixing moved off the phone.
Built with SwiftUI, Kotlin and Compose, Next.js, TypeScript, ffmpeg, Supabase, Cloudflare R2
Pennlo
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
Hexpell
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
Shake Locate
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
YT Streamer
Go live on YouTube straight from your phone, with no stream keys or RTMP setup.
Earlier work
Agency and client work from earlier in my career, mostly cross platform mobile.
VideoJS Clipping Plugin
A VideoJS plugin for clipping on premise video, scrubbing against BIF thumbnails to pick an exact in and out point, then handing the range to another service to archive for playback. Also built the BIF generation itself in Node and FFmpeg.
VideoJS, Node.js, JavaScript, FFmpeg
Boomerang TV Brand and Website
Brand refresh and digital presence for a Cardiff video production company: logo, colour palette, typography, a portfolio site and marketing collateral.
Branding, web design
Urology Medical App
Cross platform app for patients to track their intake, with advanced charting and PDF reporting.
Appcelerator, Hyperloop, iOS, Android
Mepact Medical iPad App
iPad elearning app built around cancer research, with parallax throughout.
Appcelerator, iOS
GoBeyond Medical App
Cross platform app for the medical profession, with trackers, questionnaires, reminders and a calendar.
Appcelerator, Alloy, iOS, Android
Virgin Care Website
Emotive
WordPress build with advanced search functionality across the site.
WordPress, PHP
Education
Swansea Metropolitan University
2007 – 2009BA Hons Interactive Digital Media, 2:1
Swansea College, Tycoch
2003 – 2005BTEC National Diploma Music Technology, Distinction, Merit, Merit
John Colet School, Wendover
1994 – 19989 GCSEs (A–C) including English, Maths, Sciences
Contact
Let's build something
amazing.
Cardiff, South Wales. Open to remote & travel.



