A full-stack music streaming application built with modern Android technologies and a robust backend infrastructure. Supports playback and previewing from Spotify and SoundCloud.
The Android app is developed with a focus on clean architecture, MVVM, and high performance UI/UX.
- Jetpack Compose β fully declarative UI layer with custom layouts, animations, and gesture handling.
- ExoPlayer β seamless audio streaming with waveform rendering, speed controls, and lyrics progress synchronization.
- Pager β vertical paging between tracks, optimized for low memory usage and smooth gesture experience.
- Hilt β dependency injection across ViewModels, Repositories, and UseCases.
- Kotlin Coroutines + Flows β fully asynchronous, reactive data layer with fine-grained control over playback, downloads, and UI events.
- Retrofit + OkHttp β efficient network stack with custom interceptors, body logging, and support for progressive stream loading.
- kotlinx.serialization and Gson β hybrid JSON parsing depending on data structure source.
- Firebase Services β used for analytics, crash reporting, and remote config.
- Modular clean architecture:
ui,domain,data,core - Reactive playback flow with custom
LyricsView, progress-aware sliders, and dynamic content visibility. - Efficient media preloading: Spotify tracks are preloaded entirely, SoundCloud streams are loaded in batches on scroll.
The backend is built in Ktor, containerized and optimized for high-performance media delivery and authentication.
- Ktor β lightweight asynchronous framework with coroutine-first routing and pipeline handling.
- Koin β dependency injection for services and repositories.
- MongoDB β document-based database for scalable music and user metadata storage.
- AWS S3 β used for secure media hosting and preview storage.
- Micrometer β exposes Prometheus-compatible metrics for monitoring, rate limiting, and performance optimization.
- Retrofit + OkHttp β server-to-server calls to external APIs (Spotify, SoundCloud) with retry, caching, and header injection.
- Highly optimized SoundCloud and Spotify API integrations with fallback, stream caching, and metadata normalization.
- OAuth2 login with Telegram and Google.
- JWT-based authentication for mobile clients.
- Rate limiting, request caching, and concurrency management.
- Streaming endpoints support resumable download and partial content headers.
Created by Nazar Sladkovskyi β Android Developer, reverse engineer
Project is in active development. Version 2.0 will include collaborative playlists, AI-powered recommendations, and offline sync.