This app allows you to play a curated stream of ambient music in the background without any fuss just like you can on iOS! The idea is to have a "set and forget" music player. You hit play, and it handles the rest, providing a seamless stream of ambient tunes. No complex UI or no creating playlists.
-
Tracks Fetched on Demand The app pulls its song list from a remote JSON file. This means I can update the playlist with new tracks anytime without you needing to update the app!
[ { "url": "song_url", "title": "Laidback Lo-Fi", "artist": "Ambient Music Chill", "albumArtUrl": "chill.jpeg", "genre": "chill" } ] -
Smart Caching To save your data and keep the music flowing even on a spotty connection, the playlist gets cached right on your device. When the app wants to refresh, it grabs the latest JSON from the server.
-
Handy Notification Controls Creates a MediaSession that shows the current track's title, artist, and album art. You can pause, play, and skip right from the notification.
-
A QS Tile For super-quick access, you can add a Quick Settings tile! Just like how you'd access it on iOS! Just swipe down and tap the tile to start or stop the music. You don't even have to find the app or the notification.
-
Easy Information about Updates Get to know when I update the app based on notifications posted to you! Dismissed the notification but still want to know if you're on the latest version? Tap to check for updates within the app! Includes use of newest APIs for notification broadcasting for the latest version of Android!
-
Built with Modern Technologies This project is built with Kotlin and uses Coroutines to handle all the background stuff like fetching music and caching. UI is completely written using Jetpack Compose. Some new APIs are used too like
requestAddTileService() -
Support for multiple form factors Enable navigation siderails when the display gets beyond a certain DPI for optimal user experience even for unconventional form factors and screen sizes.
Big thanks to all my testers for constantly testing my app and providing constructive feedback to help make it better throughout all the releases! 😄
Special thanks to @ralph950412 for helping me get these tracks in the first place.
Some useful links I referred to while building the app:
- Compose Navigation
- Compose Material 3
- requestAddTileService
- Window Size Classes
- NavigationRail in Compose
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software with proper attribution.















































