3.1 KiB
- Asteroid Music <2025-08-12 Tue>
- Feature Breakdown for Internet Radio Service
- System Architecture Overview
- MVP Definition
- MVP vs Later Feature Checklist
Asteroid Music <2025-08-12 Tue>
This project will define an internet radio station with the express purpose of streaming Asteroid Music to the hackers of the world. This project is imagined as a shared endeavour undertaken among the denizens of the #systemcrafters community on twitch and the libera chat IRC network.
Feature Breakdown for Internet Radio Service
A breakdown of must-have and optional features for a Common Lisp-based streaming platform.
Core Music & Content Management
- Playlist CRUD, Track Library Management
- Auto-DJ mode with randomization and repeat avoidance
- Metadata broadcasting
- Cue points & crossfades
Live DJ Integration
- Live DJ handoff with authentication
- Mic & voice-over support
- Remote cueing, hot swap
- Jingles & soundboard
Scheduling & Automation
- Show scheduling
- Pre-recorded shows
- Event triggers
- Failover streams
Listener Features
- Web player with live metadata
- Song requests
- Dedications & shoutouts
- Live chat
- Track voting
DJ & Admin Dashboard
- User roles & permissions
- Track queue control
- Upload system
- Analytics
- Audit logs
Streaming Infrastructure
- Multiple bitrate streams
- Podcast export
- Replay system
- Recording
Cool Extras
- Social push for 'now playing'
- Visualizer output
- Listener polls
- API for automation
System Architecture Overview
Architecture layers and data flow from DJs to listeners, with Common Lisp core handling business logic and integration with streaming backend (Liquidsoap + Icecast).
Components
- Ingest & Switchboard
- Transcoder/Packager
- Delivery layer
- Web Player
- Common Lisp Core
- Database/Storage
- Analytics/Observability
MVP Definition
In this context, MVP (Minimum Viable Product) means the smallest set of features that allows the station to operate live to listeners, reliably, with essential functionality.
MVP for this project includes:
- Auto-DJ playback
- Scheduled playlists
- Icecast streaming
- Live DJ handoff
- Basic admin dashboard
- Postgres-backed library
- Now-playing metadata
- Basic web player
MVP vs Later Feature Checklist
This checklist helps ensure Phase 2 features do not slip into the MVP development window.
MVP Features (Weeks 1–7)
| Feature | Description |
|---|---|
| Project bootstrap | Lisp API skeleton, DB schema v0, Icecast + Liquidsoap dev stack |
| Library ingest | Metadata extraction |
| Auto-DJ in Liquidsoap | Crossfade, loudness norm, now-playing metadata |
| Scheduler engine | Recurring shows/playlists |
| Live DJ handoff | Auth & smooth transitions |
| Listener requests | Endpoint, queue control, audit log |
| Show recording | Archive (local/7 days?) |
Later / Phase 2 Features (Weeks 8–10)
| Feature | Description |
|---|---|
| Roles & permissions | Admin/DJ/Curator, login/password reset |
| Nightly backups | - |
| Analytics dashboard | Listener count, time-on-station |
| Prometheus/Grafana | Metrics, incident alerts |
| QA | Runbook, load testing, public landing page skin |
| Stability test | 48h uninterrupted operation |