There’s definitely something magical about discovering the local radio ether, that is different in every place, what makes each place unique. However, FM radio is often unavailable in new phones.
As an IT enthusiast, radio enthusiast and a DXer, I’ve always loved exploring the airwaves wherever I go. I feel like life would be much sadder without radio. Yet terrestrial broadcasting is the most magical way of enjoying it, sometimes you just want something more portable - straight on your phone, with an amazing UI, polished maps ecosystem and many features.
That’s where Onqa comes from. It's not meant to be a replacement for terriestrial broadcasting. It's meant to do a similar thing - allow the users to discover their local radio ether.
The name is inspired by the Spanish words onda (“wave”) and cerca (“nearby”), reflecting the idea of discovering the radio stations around you.
- Location-Based Discovery: Automatically finds and prioritizes radio stations near your current location using background location services.
- High-Quality Streaming: Support for HQ audio streams to provide a crystal-clear listening experience.
- Material UI: A beautiful UI that can also adapt to your device's wallpaper and theme colors.
- Adaptive Themes: Full support for Light and Dark modes, with customizable accent colors.
- Seamless Media Experience: Built with Android Media3 for robust background playback, lock screen controls, and system integration.
- Favorites: Save your most-listened-to stations for instant access.
- Modern Mini Player: Control your music effortlessly while navigating the app.
- Intelligent Connectivity: Monitoring network status to ensure smooth playback transitions between Wi-Fi and mobile data.
- UI: Jetpack Compose with Material 3
- Architecture: MVVM with Clean Architecture principles
- Dependency Injection: Hilt
- Media: Media3 (ExoPlayer)
- Networking: Retrofit & OkHttp
- Serialization: Kotlinx Serialization
- Concurrency: Kotlin Coroutines & Flow
- Storage: Jetpack DataStore
- Image Loading: Coil
- Location: Google Play Services Location
- Logging: Timber