Project case study
Cadence
An independent, account-free podcast player for Android, built with Kotlin Multiplatform around local-first libraries, flexible playback, offline listening, and portable backups.
Case study
Minimalist podcast player
Problem
- Podcast apps often tie core listening to accounts, cloud services, advertising, or busy discovery surfaces.
- The product needed imports, downloads, and playback state to remain reliable through offline use and interrupted operations.
Approach
- Center the product around local application state and explicit user control instead of accounts or remote synchronization.
- Build broad listening features behind a quiet interface, then make diagnostics and data handling visible, documented, and user-disableable.
System Shape
- Kotlin Multiplatform models subscriptions, episodes, playback state, queues, playlists, bookmarks, history, and import state across the app.
- Native Android media integration, device-harness workflows, Android Auto checks, and release builds support repeatable validation.
Current State
- The public product site, privacy policy, and support documentation are live at cadenceplayer.com, with the Android store release being prepared.
- The app is actively versioned and validated across shared code, Android devices, Android Auto, and release builds.