Android and Android TV engineering

Android TV and Google TV app development

Shipping a TV app takes more than stretching a phone layout onto a bigger screen. It takes remote-control navigation that never leaves a viewer stuck, a playback stack that holds up on a home network, DRM that protects the content, and a build that clears Google Play's own rules for a TV listing.

Built for a remote, not a finger

A TV is used from about ten feet away, with a remote control instead of a touchscreen. Every row, card and button needs a clear focus order so a d-pad can move through the layout without getting lost or skipping a target. I build TV interfaces with the Android Leanback framework and with Compose for TV, picking whichever one an app already runs on, and I keep the same attention on focus handling in either one.

FreeCast: one product on five platforms

From 2021 to 2025 I worked on Select TV and FreeCast Watch, streaming apps built for Android, Android TV, Fire OS, webOS and Tizen. I led the migration of the legacy Java codebase to Kotlin and introduced Use Case and Clean Architecture layers. Along the way I enabled Google Cast and integrated a paid subscription gateway, and the apps shipped on Google Play.

Claro TV+: a greenfield Android TV build

Claro TV+ was a new Android TV and Fire OS app, built from scratch in 2024 for one of Brazil's largest pay-TV operators. It streamed 4K video over DASH and HLS with multi-DRM protection, and I contributed to its data layer, a Kotlin Multiplatform module shared by the Android, webOS and Tizen clients.

Archive: my own app on Android TV

I also publish an Android TV app under my own account: Archive, built with Media3. It plays home videos, photos and music stored on a network drive, and it is live on Google Play today, which means I carry a listing through Google Play's Android TV requirements myself, not only for clients.

Questions I get about Android TV work

Do you build with Leanback or Compose for TV?
Both. I work in the Android Leanback framework and in Compose for TV, and I choose based on what the existing app already runs on.
Have you shipped apps to Google Play's Android TV storefront?
Yes. FreeCast's apps shipped on Google Play, and my own Archive app is listed there as an Android TV app. Google Play sets its own requirements for an app to qualify as an Android TV app.
What DRM have you worked with on Android TV?
Widevine and PlayReady. FreeCast used Widevine for live and on-demand playback, and Claro TV+ streamed 4K with multi-DRM.
Can you take over an existing Android TV codebase?
Yes. I led the full Java-to-Kotlin migration of FreeCast's legacy codebase, and I have worked inside a Kotlin Multiplatform module shared by several TV clients.

Talk about an Android TV build

Get in touch about your app.

Reach me on LinkedIn, or read the full role history in my CV.