Strumming up a music player with CMP 🤘
summary
Builds a customer-facing player called Groove Box using Compose Multiplatform with a Ktor server streaming MP3s, shared Kotlin code and expect/actual platform adapters. Android uses Media3/ExoPlayer, iOS uses AVFoundation + Skiko, desktop uses a JVM player; coroutines drive position updates and Coin handles DI. Covers compiler/runtime details (K2 front end, synthetic composer params, slot table), hot reload via desktop target, CI tips (cache Kotlin/Native, drop x64, avoid transitive export) and a production deployment featured in a JetBrains case study.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:24Compose Multiplatform internals
- 7:48Setting up project
- 14:09Kotlin & Compose compilers
- 26:49GrooveBox demo
- 34:48Shared vs platform layers
- 36:31Audio player interface
- 41:17Scaling to production
- 46:41Q&A
related talks
46mPowering Compose Multiplatform Apps with Koog & MCP
45mThe Adventures of Kotlin And Compose Through the Multiplatform World
45mAn Android, a Desktop, and a web developer enter in a bar
32mHitchhiker's Guide to Kotlin/Compose Multiplatform samples and libraries
40mBuilding a Modern Kotlin Multiplatform Application with Compose Multiplatform and Koin
39mKotlin and Compose Multiplatform patterns for iOS interop
46mGoing Multiplatform with Your Android App
41mKotlin for the JVM and beyond
