Files
Android-247-Radio/chat-summaries/2026-03-09_brainstorm-and-plan-summary.md
2026-03-10 02:42:25 -04:00

1.5 KiB

Brainstorm & Implementation Plan — Android 24/7 Radio

Date: 2026-03-09

Task Description

Brainstormed and designed a personal-use Android radio streaming app from an IDEA.md spec. Produced a full design document and a 15-task implementation plan.

Key Decisions

  • Custom raw audio pipeline (Approach B) over ExoPlayer, for absolute minimum latency (~26ms per MP3 frame vs ExoPlayer's ~1-2s floor)
  • Pipeline: OkHttp → IcyParser → Mp3FrameSync → MediaCodec → AudioTrack, single-threaded
  • Kotlin + Jetpack Compose + Material 3, targeting API 28 (Android 9) minimum
  • Room DB with future-proofed schema (MetadataSnapshot, ListeningSession, ConnectionSpan tables for future recording/clips)
  • PLS/M3U import/export with #EXTIMG support for station default artwork
  • Album art fallback chain: MusicBrainz → ICY StreamUrl → EXTIMG → Station favicon → Placeholder
  • Dual timers on Now Playing: session time (never resets) + connection time (resets on reconnect)
  • Latency indicator estimated from ring buffer + AudioTrack write/play head delta

Changes Made

  • docs/plans/2026-03-09-android-247-radio-design.md — Full design document (6 sections)
  • docs/plans/2026-03-09-android-247-radio-implementation.md — 15-task implementation plan with TDD steps
  • Initialized git repository with 2 commits

Follow-Up Items

  • Execute the implementation plan (15 tasks, starting with project scaffolding)
  • Execution options: subagent-driven (this session) or parallel session with executing-plans skill