Music-Broadcast Platform Modernization
Modernizing a live multi-site music-broadcast platform — mobile API, admin panel, cross-platform app redesign, and an owned analytics stack
Overview
An ongoing modernization engagement for a multi-site, scheduled music-broadcast platform — a desktop player and remotely-controlled stations driven by a calendar-based scheduler. The original backend was a mature but aging Java stack: reliable, but built before today's mobile clients and modern admin tooling existed. The engagement spans a mobile-ready JSON API, a new admin panel, a cross-platform app redesign, and a self-hosted analytics platform to replace a third-party SaaS. Client unnamed by agreement.
Challenge
Modernize without disruption: bring a mobile-first control layer, a modern admin experience, and a redesigned app to a live system while preserving every behaviour that stations and legacy clients depend on. Nothing could break for the users already relying on it — high-risk surfaces like authentication, device-control protocols, and production schema changes all needed to land on a running platform.
Solution & Outcome
Shipped a complete JSON API with full feature parity against the legacy control protocol — station status, playback queue, playlists, scheduling, command lifecycle, and event feeds — delivered in disciplined phases (scaffold → read → write), JWT-secured with a hardened login flow, and documented through a versioned importable API collection. Alongside it: a Spring Boot 3 + React 18 admin panel replacing the legacy staff tool, artwork management surfaced through the API, and continuous deployment to Azure validated against production-equivalent data. The whole engagement runs AI-native with humans in the loop: AI accelerates design, implementation and analysis, while a human reviews and signs off at every gate — nothing ships unsupervised. The core modernization is delivered and in production: a live broadcast platform now controllable by modern mobile clients without rewriting the systems its stations depend on, and a modern admin experience for the operations team. A ground-up cross-platform app redesign (SwiftUI on iOS, Kotlin on Android, one shared design-token system) is rolling out with its foundation shipped on both platforms, and a self-hosted TimescaleDB analytics platform to replace the third-party SaaS is in the design-and-build phase — stated as design work, not a shipped product.
Case Study in Depth
Delivered: a mobile-ready API on a legacy-critical system
The platform's stations and desktop players speak a legacy control protocol that could not change. The new JSON API was built beside it with full feature parity — station status, playback queue, playlists, weekly and yearly scheduling, command lifecycle, and event feeds — so mobile clients gained first-class control without touching the backend the stations still use. Authentication moved to station-scoped JWT with credentials taken out of URL parameters into a secure request body, and every phase was validated against a production-equivalent database before release.
The API ships with a versioned, importable collection (v1 → v2 → v3) so the client's team and integrators always have accurate, runnable documentation — a deliberate deliverable, not an afterthought, because an API that only its author can call is not finished.
AI-native development, humans in the loop
Every part of the engagement is built in an AI-native development environment: AI accelerates design, implementation and analysis, and a human reviews, refines and signs off at every meaningful gate — design, security, and go-live. High-risk changes such as authentication, device-control protocols, and production schema are explicitly gated behind human sign-off; nothing ships to production unsupervised. Secrets stay out of source control and infrastructure is provisioned only from official, verified sources. This is what makes it possible to move fast on a live, legacy-critical system without breaking it.
Rolling out: one design system, two native apps
The platform's mobile apps are being redesigned from the ground up — from a dark, tab-limited legacy UI to a modern, artwork-rich experience built from a shared Figma design system. iOS is native SwiftUI and Android native Kotlin, both driven by a single design-token system mirrored one-to-one across platforms so the two apps stay consistent with the design and with each other. The redesigned foundation — design tokens, navigation shell, a persistent mini-player, re-skinned entry screens — has landed on both platforms, wrapped around the existing proven functionality so nothing regresses during the transition. The redesigned content screens are in build.
In design: owning the analytics
The platform's usage analytics historically depended on a third-party SaaS. Its replacement — currently in the architecture and infrastructure phase, presented as design work rather than a shipped product — is a self-hosted analytics stack the client fully owns: action logs flowing into a self-managed TimescaleDB store chosen for high-volume append-heavy event data, isolated from the operational database so heavy reporting never competes with day-to-day operations, and surfaced through dashboards inside the admin panel the team already uses. The reports are the ones operators actually ask for: most-played playlists, song removals and trends, most-skipped tracks, manual-versus-scheduled overrides, player uptime, and content-update monitoring — with no per-seat SaaS pricing and full data ownership.
Related Projects
AI-Native Catalogue Enrichment Service
AI-Native BuildA catalogue-enrichment service built AI-native from a 1,675-line specification and zero code — 39% of consequential decisions made by a human, zero wrong writes to production
View case study
Hop Orbits
MarketplaceMulti-vendor marketplace — co-founded and architected
View case study
Legionella 360
Compliance / SaaSMulti-tenant SaaS platform for Legionella risk assessment & regulatory compliance (ISTISAN 22/33)
View case studyLike what you see? Let's build something together.
Send Project Brief →