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.