Software Engineering
Android Music Player
Lifecycle-aware Android music player with reliable background playback.
- When
- Aug 2025 – Jan 2026
- Headline result
- −30% UI latency
- Built a lifecycle-aware Android music player with Kotlin, Jetpack, and MVVM, addressing playback interruptions and inconsistent UI state during background execution and lifecycle transitions.
- Integrated ExoPlayer with MediaSession using coroutines, lifecycle-aware scopes, and synchronized callbacks to maintain reliable background playback across Android versions.
- Refactored asynchronous callbacks into a unidirectional StateFlow architecture, eliminating callback contention and redundant recompositions while reducing UI latency by 30%.
Tech stack
- Kotlin
- Jetpack
- MVVM
- ExoPlayer
- Coroutines
- StateFlow