Skip to content
Selected work

Case study 04 · Media · Company

Live TV and video-on-demand web client

  • Software
Sector · client
Media · telecom / IPTV operator

01 — Context

An IPTV operator's web client for live channels, programme guide, on-demand catalogue, recordings and payments ran on an end-of-life front-end framework, with three player variants selected at build time. Test coverage was thin and many end-to-end suites were empty stubs.

02 — Challenge

The client had to be rebuilt on a modern stack while the old one stayed live, without losing behaviour nobody had written down. The rebuild also had to handle encrypted (DRM) playback and the old build's hidden production defects.

03 — Approach

  1. One capability at a time

    A strangler-fig migration: each capability (login, profiles, home, live TV and guide, player, catalogue, search, recordings, payments, settings) is replaced one vertical slice at a time.

  2. Behaviour mined before code

    Behaviour is extracted from the old client and probed against staging, then written as signed-off specs (about 240 requirements across 10 capabilities) before implementation.

  3. Encrypted playback, guarded contracts

    A generalised playback state machine and live-media resolution handle DRM-encrypted streams. API contract tests catch backend drift.

  4. Tests on realistic data

    Mocked APIs are seeded from real fixture shapes, and about 150 unit and integration test files back the new client.

04 — Outcome

Live TV, the channel zapper and the programme guide now run on the new stack. Spec-mining found serious production defects in the old client, including one that stopped most channels from playing when guide data was missing.

Have a meaningful problem? Tell us about it.

Request a project