SplashFM is geen traditionele omroepserver. Het is een cloud-native playout-systeem waarbij elke laag meetbaar en vervangbaar is.
Liquidsoap beheert de queue en regelt overgangen. De output gaat door StereoTool â broadcast-grade audioprocessing op â16 LUFS, spectrale balans en clean stereo. Dezelfde toolchain die FM-zenders gebruiken.
404 WAV-tracks in Amazon S3. Metadata en afspeelstatus leven in DynamoDB. Een systemd timer op de stationhost draait elke 60 s een reconcile-script dat de Liquidsoap-queue aanvult vanuit de actieve playlist.
Backoffice en dashboard praten via een HTTP API Gateway met ÊÊn Lambda-handler (Node.js ESM, 2 GB RAM). Mediabeheer, runtime-commando's, now-playing polling en JWT-autorisatie â alles in ÊÊn function.
Login via Amazon Cognito met een handmatige PKCE-flow â geen UI-bibliotheek, puur fetch. Het ID-token wordt als Authorization: Bearer header meegestuurd bij elke API-call.
De React backoffice en de player worden geserveerd via CloudFront vanuit S3. Een CloudFront Function herschrijft URL's naar index.html. API-calls gaan via /api/* behavior rechtstreeks naar API Gateway â geen CORS-proxy.
Drie publieke streams via Icecast: MP3, AAC en Opus. De player detecteert automatisch het juiste formaat op basis van de browser. Apple-apparaten krijgen bij voorkeur AAC; overige browsers MP3.