An All-in-One Innovative Music Player Perfect for Schools and Events
stephy
September 12, 2025
From Java legacy to OTA updatable, offline capable player — driving 2× customer growth in 12 months
A legacy, Java-based player used across schools and events was unstable, hard to update, and missed scheduled commercial spots. KnackForge rebuilt the stack: an Electron desktop player (Windows, Linux, macOS), a React admin console, and a Laravel API hosted on AWS. The result is deterministic ad scheduling, over-the-air (OTA) updates with simple restarts, offline playback via local caching, and a clean UX that non-technical staff can operate. Within a year of rollout, the client doubled their customer base and revenue.
Challenges
Unreliable ad/commercial scheduling: spots fired late or were skipped.
Instability and crashes: operators often had to reboot systems to recover.
Upgrade friction: adding features or shipping fixes was slow and risky.
Limited OS support: player ran only on Windows/Linux; deployments were brittle.
Support bottleneck: Feature and configuration requests are funneled through Product Support Managers, creating delays.
The Solution
New cross‑platform player built with Electron and a modular architecture for rapid feature additions.
Modern admin console in React for self‑service scheduling, content control, roles & permissions, and audit history.
Robust API using Laravel, deployed on AWS (with CDN/storage, monitoring, and centralized logging) for secure, scalable distribution.
Deterministic scheduling with clock drift protection and retry logic to avoid missed ad breaks.
OTA updates that download in the background and finalize on a short, automated restart; includes rollback safeguards.
Offline playback via local caching so scheduled content plays during network disruptions.
UX overhaul with a simple, operator-friendly interface and clear status indicators.
The Impact
2× growth in customers and revenue within ~12 months of the new player’s rollout.
On‑time ad delivery through deterministic scheduling and guardrails against skips.
Stability gains and fewer crash-related incidents reported by operators.
Lower support load as customers self-manage content and schedules.
Faster feature delivery via modular architecture and OTA updates.