Music Assistant Mobile App: A KMP Client Still in the Saddle
The (official) Music Assistant Mobile app is a cross-platform client application designed for Android and iOS. Developed using Kotlin Multiplatform (KMP) and Compose Multiplatform frameworks, this project aims to provide a unified codebase for reliable music management across multiple platforms.
At a glance
- What is it?
- The official Music Assistant mobile client uses Kotlin Multiplatform and Compose Multiplatform to serve Android and iOS, but it is not production-ready. This review covers its architecture, setup, limitations, and who should wait.
- Who is it for?
- Adopt this app if you are an existing Music Assistant Server user who wants an early, unified mobile client and can tolerate instability, missing app-store releases, and a strict server version window. Do not adopt it if you need offline playback, static group creation, or a stable production app.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- music-assistant/mobile-app732 ★ · +260
| Repository | 2026-07-30 | 2026-11-14 |
|---|---|---|
| music-assistant/mobile-app | 472 | 732 |
260 Stars in the last 107 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
What This App Solves and Who It Is For
The Music Assistant mobile app targets people who run a Music Assistant Server and want a native-feeling remote control and local player on their phone or tablet. The server aggregates music from various providers and manages players, but its official mobile client has been missing. This project fills that gap with a single Kotlin Multiplatform codebase for Android and iOS. The intended user is a Music Assistant enthusiast, not a casual music listener. The README is explicit that the app is not for offline playback, which already narrows the audience. It is also not for anyone who expects a finished product: the project is under heavy development and not published to any app store. Early adopters will sideload APKs or join TestFlight.
The Architecture: One Codebase, Two Platforms
The app is built with Kotlin Multiplatform (KMP) and Compose Multiplatform, which means the UI and business logic are shared between Android and iOS. The README describes a unified codebase for reliable music management across platforms. The project distinguishes between common features and platform-specific implementations. On Android, the app uses a media service for background playback and a notification for quick controls. On iOS, it uses native AudioQueue (CoreAudio) for audio output, supporting FLAC, Opus, and PCM. For streaming, the app uses the Sendspin protocol over WebRTC or WebSocket. On iOS, WebRTC data channel transport is used for low-latency streaming. This split is a realistic approach: you cannot fully abstract audio and car integrations, so the project keeps the core shared and the edges native.
Getting It Running: Commands and Requirements
There are no build commands in the README, but the installation path is clear. Android users download the APK from the latest release on GitHub. iOS users join a TestFlight program. The app requires Android 8.0 or later and iOS 18.5 or later. For Android Auto, there is a dedicated document, docs/ANDROID-AUTO.md, that explains how to enable Android Auto with sideloaded debug or self-signed builds, including the Unknown sources flow. That document also describes shell-based testing of MEDIA_PLAY_FROM_SEARCH intents. The app configuration and usage are documented in docs/app-documentation/index.md. You must have a Music Assistant Server, and the app supports the latest and one previous stable server versions at the time of each release. This is a hard constraint: if you run an older server, the app may not work.
Car Integration: Android Auto and CarPlay Are Not Equal
Car support is a core focus, but the two platforms are at different maturity levels. Android Auto has support for the built-in player and voice playback via Google Assistant and Gemini App Actions. The README says this works in the car and on the phone, with a single symmetric code path. It also lists a full phrase reference and testing notes. Apple CarPlay support exists but is described as very early state, with a lot of bugs expected. This asymmetry matters: if you are an iPhone user, do not expect a reliable in-car experience yet. The in-car experiences are dedicated exclusively to the local player; managing external players is out of scope. That is a clear boundary. If your primary use case is controlling multiple speakers from the car, this app will not do it.
Limitations and Wrong Tool Cases
The most obvious limitation is the explicit disclaimer: this app is not intended to provide offline playback. That means no listening on a plane or in a dead zone. Another limitation is that static group creation is not supported, only managing dynamic and static groups. The README says no static group creation, which is an odd omission for a music manager. Also, the server compatibility window is narrow: only the latest and one previous stable server versions. If you are behind on server updates, the app may break. The project is not in a production state, so crashes and missing features are expected. For anyone who needs a stable, store-published music client, this is the wrong tool. Also, if you do not run a Music Assistant Server at all, this app is useless.
Alternatives: What Else You Could Use
The closest alternative is the Music Assistant web interface, which runs in a browser and works on any device. The web UI does not require a dedicated app install and can control players and browse the library, but it lacks native audio playback and car integration. For local playback on Android, you could use a generic UPnP or DLNA client, but those do not integrate with Music Assistant's player groups or the Sendspin protocol. On iOS, the default Music app or third-party players like VLC can play local files, but they cannot control Music Assistant players. The key difference is that this mobile app is the only client that combines server control, local playback, and car integration in one package. If you need offline playback, no alternative in the Music Assistant ecosystem provides it, so you would need to use a different music server entirely.
Maintenance and Upgrade Cost
Because the project is under heavy development, the upgrade cadence is high. The release history shows frequent builds: iOS builds 48 and 49 were pushed on the same day, and Android 0.12.0 was released the same day. That suggests rapid iteration, which is good for bug fixes but bad for stability. Each release is tied to a server version window, so upgrading the app may force you to upgrade the server as well. The README warns that releases support the latest and one previous stable server versions. This means you must track both app and server releases. The license is Apache-2.0, which is permissive and allows commercial use, modification, and redistribution, but you should read the license text for specifics. There is no mention of a contribution guide or CI setup in the README, so the maintenance cost for a user is mostly about keeping up with releases and re-testing your setup.
Editorial conclusion
Adopt this app if you are an existing Music Assistant Server user who wants an early, unified mobile client and can tolerate instability, missing app-store releases, and a strict server version window. Do not adopt it if you need offline playback, static group creation, or a stable production app. Before using, verify your Music Assistant Server version matches the supported range, check the known limitations in the app documentation, and test Android Auto or CarPlay only if you accept bugs. The project is under heavy development, so plan to track releases and re-test frequently.
Frequently asked questions
Is the Music Assistant mobile app available to download?
It is not published to any app store. Android users download an APK from the latest GitHub release and iOS users join TestFlight. The README states the project is still under heavy development and not yet in a production state.
What Android and iOS versions does the Music Assistant mobile app need?
Android 8.0 or later, and iOS 18.5 or later. The two platforms version separately: the latest Android tag is 0.13.0 and the latest iOS tag is a 1.0 build number.
Can the Music Assistant mobile app play music offline?
No. The feature list carries an explicit disclaimer that the app is not intended to provide offline playback. Playback goes through a Music Assistant server, with local on-device playback using the Sendspin streaming protocol over WebRTC or WebSocket.
Can I control my speakers from Android Auto or Apple CarPlay?
Not with this app. Both in-car experiences are dedicated exclusively to the built-in local player, and managing external players is stated as out of scope. CarPlay support is also described as very early with a lot of bugs expected.
Which Music Assistant server version does the mobile app work with?
Releases are intended to support the latest stable versions of the Music Assistant server. The app tracks the server rather than pinning an API version of its own, so a recent server is worth having before trying the app.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/music-assistant-mobile-app)Star history chart for your README
[](https://hysenlabs.com/projects/music-assistant-mobile-app)Was this useful?