Mobile & Android Streaming

Native Android streaming applications with Kotlin, Jetpack Compose, and Media3/ExoPlayer. Background playback, QoE metrics, and 99%+ crash-free rates reaching 100K+ active users.

Discipline
  • android
  • kotlin
  • media3
  • streaming
Tenure
2020 - present

What this is about

People expect streaming apps to just work. Press play, it plays. Switch apps, audio keeps going. No crashes, no buffering wheels. Simple from the outside, a lot of moving parts underneath.

We build native Android streaming apps. Kotlin, Jetpack Compose, Media3/ExoPlayer. The same stack you see in the biggest media apps on the Play Store.

How we build

Architecture

Clean Architecture with MVVM or MVI, depending on what the project needs. Kotlin Coroutines and Flow for async work. Hilt or Koin for dependency injection. Every module is testable on its own.

Media3 and ExoPlayer

This is where we spend most of our time. MediaSession and MediaSessionService for background playback. Adaptive streaming with HLS and DASH. Widevine DRM for protected content. We also track QoE metrics like startup time, rebuffer ratio, dropped frames, and seek latency.

Media3Watch (open source)

We open-sourced a small SDK called Media3Watch. It prints formatted session summaries to Logcat so you can debug playback issues fast. If you want, it can also report to a self-hosted backend (Ktor + PostgreSQL) with Grafana dashboards out of the box.

Results

Who we built for

We have built streaming applications for major content platforms and broadcasters across Turkey and the Middle East. Live TV, on-demand libraries, offline playback, radio streaming. The kind of apps where millions of subscribers are paying for something that needs to work perfectly every time they open it.

Most of this work was done in-house for large organizations, so we can not name names. But the scale speaks: apps on the Play Store serving hundreds of thousands of active users, running against the same content catalogs you would see on major TV platforms in the region.

Tech

Kotlin · Jetpack Compose · Media3/ExoPlayer · MediaSession · Coroutines/Flow · Clean Architecture · MVVM/MVI · Hilt/Koin · Retrofit/OkHttp · Ktor · Kotlinx Serialization · Coil · Docker · Grafana · PostgreSQL


Need a streaming app that just works? Get in touch.