Services
Software EngineeringProduct Design & Development
Our Work
Open Source
Community
BlogEvents
About
About UsJoin Us
Contact Us

Page title

Media

Maximising content ROI for a global media company

Services Provided
Engineering
Specialisms
Go
TypeScript
Tailwind CSS
GraphQL
AWS
React
Platforms
API
Website
iOS App
Android App

The Challenge

A global broadcast media company needed to unlock more value from its growing video library. Off-the-shelf tools couldn’t handle the scale or complexity, making it hard to surface relevant content, personalise viewer experiences, or drive business outcomes. They required a scalable, tailored solution aligned with their goals and infrastructure.

The Client
A household name TV network in the US, with a strong footprint in sports, entertainment, news & business.
Client’s Goal
To unlock smarter ways to deliver the right content to the right audiences while boosting returns from every ad impression.

The Approach

We delivered a scalable, custom-built solution that integrated seamlessly with the client’s existing infrastructure and unlocked a more profitable content pipeline. The bespoke solution transformed how their video assets are tagged, discovered, and monetised, giving them greater control over how content drives engagement and revenue.

This was achieved by:

  • Enriching video content at scale using the client’s own data to power smarter content discovery
  • Enabling advanced personalisation to retain viewers and attract new audiences
  • Supporting more accurate ad targeting to maximise commercial returns

We were able to align technical execution with the client’s business objectives in the following ways: 

Introducing advanced data processing techniques

To enhance the client’s advertising infrastructure, our engineering team implemented a high-performance model that integrated seamlessly with Amazon Redshift and OpenSearch, facilitating rapid and precise content discovery.

  • Redshift and OpenSearch: We utilised Amazon Redshift to store the entities we had extracted (like object detection, celebrity detection, etc) in a flat table. From there, we would query the datastore (about 1.5 billion entries were added per year) and send the data back to the requestor in a large data payload. From there, our custom algorithms would calculate the intersections of the time spans from the returned payload. This was done because it enabled us to use multiple underlying search technologies and allowed us to focus on the intersection algorithms. Opensearch allowed us to search for semi-structured data as well as text searching, while with Redshift for structured data searching.
  • Full-text search and text analysis with OpenSearch: For handling unstructured data, we built on top of AWS services, which support full-text search through advanced text analysis techniques. OpenSearch employs tokenisation, stemming, and stop word removal to process and index text data, enabling efficient and relevant search results. This capability allowed the model to perform complex searches on unstructured video metadata, such as identifying specific scenes or topics within videos, thereby enhancing content discoverability and relevance.
  • Synonym matching for enhanced search accuracy:  To address the challenge of varying terminology, we implemented synonym matching techniques within the search infrastructure. By identifying and mapping synonyms and variations, the model could return more comprehensive and accurate search results.

Ensuring high performance under extreme load 

To achieve a throughput of 700 requests per second, nearly tripling the standard capacity of 150 to 250 requests per second, our application employed lambda architecture:

  • Windowing for efficient data segmentation: Windowing involves segmenting continuous data streams into manageable chunks, or windows, to facilitate real-time processing. Each event was timestamped and extended with lead and lag offsets to create a time span. These spans were evaluated against user-defined conditions and combined with “AND”, “OR”, and “NOT”. The system combined spans that satisfied these expressions, for example, detecting when multiple entities co-occurred or when one appeared in the absence of another into discrete, queryable intervals.
  • Event span calculation for optimised resource allocation: Event span calculation determines the duration and overlap of events within these windows. By accurately calculating the span of each event, the model could optimise resource allocation and processing order, reducing latency and improving throughput. The resulting active segments were projected into DynamoDB, enabling fast, deterministic lookups. This precomputed structure supported over 700 requests per second with sub-100ms response times and optimised access patterns rather than aggressive caching.

The application was designed to ingest and process around 1,000 videos daily, equating to one video every two minutes. To meet the client’s requirement for rapid processing, we optimised the pipeline to process a 4-minute video in 2 minutes, effectively halving the processing time. Given the client’s preference to avoid aggressive caching strategies, we built the application in a way that it would be capable of querying billions of data points in real time. 

By minimising data writes and leveraging efficient segment definitions, we identified associated videos through large-scale queries and projected them into a high-speed key-value store lookup. This architecture enabled instant, precise retrieval of specific video segments and timestamps upon user request.

Overcoming limitations 

One of the biggest challenges was integrating the custom model with the client’s existing ad system, Google Ad Manager. The two systems were speaking different data languages: our model was built to find moments in a video based on keywords, while Google Ad Manager works the other way around wherein it looks for keywords based on specific video moments.

This mismatch meant we had to create a smart way to translate between the two formats without slowing things down or losing accuracy. Despite the complexity, our team delivered a seamless integration by leveraging Go and AWS Appsync (GraphQL). This approach preserved speed and precision.

System architecture enabling seamless translation between two formats, maintaining speed and accuracy throughout the process.

The Deliverables

The model quickly retrieves all relevant videos from the client’s extensive library based on keyword searches like ‘fine art,’ ‘costume,’ and ‘dance.’

Closing the Engagement

By combining real-time processing, seamless system integration, and an intuitive interface, we delivered a robust application that meets both engineering and commercial demands of the client.

Originally designed for a subset of content, the application’s performance and adaptability have led to its adoption across the organisation’s broader content library. It now reinforces a scalable, data-driven framework that supports faster decision-making, sharper ad targeting, and continued innovation. For the client, this is no longer just an operational tool but a core business enabler.

/
/
/
/
/
/

View More Work

/
Media

Maximising content ROI for a global media company

A leading US TV network unlocked smarter content delivery and ad revenue by using a custom solution to enrich, personalise, and monetise its vast video library.
BPP
/
Education

Scaling a learning platform to meet modern education demands

BPP revamps its mobile app to better serve evolving student and educator needs, aiming to boost user experience and ensure long-term scalability.

Would you like to work with us?

Contact Us
Find Us
London
- HQ
1 King’s Cross Bridge
London
N1 9NW
Lisbon
Praça Marquês de Pombal 2
Lisboa
1250-160
Porto
Rua Sá da Bandeira 819
2º Esquerdo
4000-438
Follow Us
LinkedIn logoYouTube logoGithub logoInstagram logoX logo
YLD Limited is a company registered in England and Wales (company number 08761606).
Registered address: Third Floor, 20 Old Bailey, London, United Kingdom, EC4M 7AN.
Data-retention PolicyCode of ConductData Protection Addendum
CookiesPrivacy Policy