Web Frontends
LOKLOK's web presence spans several generations of frontends, all pointing at the same broadcast:
- Classic Socket.io pages under
public/— the original web app: home/ player, live radio, chat, studio, and monitoring dashboards. - Installable PWA — the primary radio player (HLS + OGG), installed as an app from the browser, with push notifications and an offline shell.
- Next.js player under
radio-web/— a modern HLS player app (Next.js 16 / React 19). - Go Live page — mobile WebRTC broadcast (
/go-liveon the WHIP server). - Flutter app — a native Android player (media_kit/mpv) with a premium
branded UI: live now-playing + listener counts, a full on-air queue, chat,
and vibe voting. Built under
~/loklok_radio_appon the production box (see Flutter app).
Page inventory
| Page | File | Purpose |
|---|---|---|
| Home / player | public/index.html | "LOKLOK FM | Social Broadcast Network" — landing + player + comments + vibe votes |
| Remote live | public/index_remote_live.html | "LOKLOK — Live Radio" — amber/glass live player with wave canvas |
| Chat | public/chat.html | Themed chat rooms |
| Studio | public/lok.html | "LOKLOK Studio | Broadcast Network" |
| Pro injector | public/studio.html | "LOKLOK STUDIO | Pro Live Injector" — live injection push buttons + on-air sign |
| Social studio | public/social.html | Studio UI for the social platform (submit/vote/approve) |
| Dashboard | public/dashboard.html | "LOKLOK AI | Brain Dashboard" — Chart.js telemetry |
| Monitor | public/monitor.html | "NETWORK OVERWATCH" — timeline + queue + stats |
| Lab | public/lab.html | "Neural Telemetry Lab" — Chart.js + JetBrains Mono lab views |
| Player app | radio-web/ | Next.js HLS player (SSR + client HLS) |
| PWA (primary) | html/index.html (remote) | Installable radio player: HLS + OGG fallback, artist backdrop, push, offline |
| Go Live | go-live.html (remote) | Mobile WebRTC broadcast page served by the WHIP server |
Shared infrastructure
public/app.js— Socket.io client helper: lists channels,join_channel,tuneIn, refreshes every 8s.public/visualizer.js— canvas Web Audio Analyser visualizer over the audio stream.sw.js/manifest.json/icons//offline.html— PWA assets served with the remote player.
Serving model
- The classic pages are served by
server.js(Express + Socket.io on the same origin). - The PWA + docs are served by the Go server (
:8093, static) atapi.mediahubnetwork.net; the PWA polls HTTPS…/v3/paths/list(an alias of the:19353listener proxy) for the live listener count and streams HLS + OGG with OGG fallback. - The Next.js player is a separate service (dev
:3456, prod:4477) streaming HLS via MediaMTX. - Live chat + presence are served by
chat-server.js(files.mediahubnetwork.net:8094), a zero-dep long-poll REST companion (see Chat server). - The Go Live page is served by the WHIP server (
10.10.8.230:8089).
Read on: Next.js player, Classic pages, PWA.