← Work

Backend · Architecture2025 · ongoing

VUCOS — Multi-tenant OTT Platform

Modernizing the .NET platform behind a whitelabel IPTV/VOD service — while it runs.

Role
Senior Fullstack Engineer · Platform Architecture
Timeline
May 2025 — present
Stack
.NET 10 · ASP.NET Core · Kafka · Redis · EF Core · Elasticsearch · React Native

01Problem

A TV platform that had grown for years

VUCOS delivers live TV, VOD, program guides, and DRM-protected streaming to multiple operators as a whitelabel platform — apps on mobile, TV, and web, backed by a .NET codebase of 66 projects that had accumulated years of growth: legacy error handling, an aging runtime, and a monolith wanting to become services.

02Role

Architecture on a moving train

I architect the .NET platform — authoring the architecture decision documents for the authentication server, licence server, and service decomposition — while staying hands-on: platform APIs in .NET, and features in the Expo/React Native app (TV guide, navigation) when the frontend needs a hand.

03Approach

Modernize without stopping broadcast

Everything ships incrementally against a live service. I redesigned platform-wide error handling to RFC 7807 — 227 throw-sites migrated onto a central error catalog, so every client (mobile, TV, web) gets consistent, typed error contracts instead of parsed strings.

I designed Redis-backed distributed session revocation (instant logout across devices), multi-provider OAuth (Google, Microsoft, Apple), and led the .NET 6→10 migration with Central Package Management — including a 41-project legacy cleanup.

The backbone: Kafka for async messaging, Redis for sessions and caching, Elasticsearch for search, all documented in decision records so the next engineer inherits reasons, not folklore.

04Outcome

A platform ready for its next decade

One modern runtime across all 66 projects, consistent error contracts for every client, instant session invalidation, and a documented path from monolith to services. The platform modernized without viewers noticing — which is the point.

66
projects on one modern runtime
227
throw-sites migrated to RFC 7807
5
architecture decision documents