OTT Platform
Overview
A multi-tenant OTT SaaS platform serving EdTech providers and entertainment operators, supporting adaptive video streaming, subscription billing, and content discovery across web and mobile.
The Problem
Building a streaming platform from scratch for multiple tenants, each with different content catalogues, subscription models, and branding requirements. The core challenge was designing a multi-tenant architecture that could isolate tenant data, scale media delivery independently of the application tier, and support flexible billing without per-tenant customisation work.
Approach
Designed a shared-database multi-tenancy model with tenant context injected at the middleware layer. Every query is scoped by tenant ID, with row-level policies enforced in PostgreSQL. Tenant-specific branding and feature flags are loaded from a configuration service at request time.
Built a media pipeline that transcodes uploaded video into HLS format at multiple bitrates using AWS MediaConvert, stores segments in S3, and delivers them via CloudFront with signed URLs. The player client adapts quality in real time based on the viewer's bandwidth.
Indexed the content catalogue in Elasticsearch with full-text search, faceted filtering by genre and age rating, and personalised ranking based on viewing history. Kafka events from the viewing service kept the index updated in near real-time without blocking the main application.