Open Source

We did not wait for Compose Multiplatform to reach Apple TV. We took it there.

We advise rather than build for hire, so our credibility has to come from work you can read. tvOS was the one target JetBrains did not support, and SwiftUI's focus handling was not good enough to write those screens natively, so we added the target ourselves and published the whole stack. Everything below is community work, in production, and free to use.

compose-tvos

Apple TV support for Compose Multiplatform, in one line

JetBrains does not ship a tvOS target for Compose Multiplatform. This Gradle settings plugin closes the gap at dependency-resolution time: your app keeps its stock org.jetbrains.compose and androidx.tv coordinates, and the tvOS variants are injected during the build. It is official-first: the moment JetBrains ships tvOS for a module, the plugin steps aside automatically.

id("dev.sajidali.compose-tvos") version "1.4.2"
  • tvosArm64
  • tvosSimulatorArm64
View on GitHub →

compose-multiplatform-core (tvOS)

The fork that made it possible

A tvOS-enabled fork of JetBrains' compose-multiplatform-core, published to Maven Central. It adds tvOS as a Kotlin/Native target across Compose UI, foundation, runtime, animation, material3 and a port of androidx.tv tv-material, including UIKit scene integration, Siri Remote focus traversal, ten-foot density, text input and dialogs. Companion tvOS builds of Koin, Coil 3, lifecycle, navigation and window-core ship alongside it.

  • Compose 1.12.0
  • Kotlin 2.3.20+
View on GitHub →

Compose EPG Viewer

A programme guide that stays at 60fps

A performant, scrollable electronic programme guide for Compose Multiplatform. Programmes are not a uniform grid: they overlap and vary in length, so the component binary-searches the sorted event list for the viewport edge and renders only what is visible plus a buffer. On a 10,000-channel guide that is the difference between roughly 50,000 composables and 500.

implementation("dev.sajidali:tvguide:0.0.1")
  • Android
  • iOS
  • Desktop
View on GitHub →

jetstream-tvos

Google's TV sample, running on Apple TV

Google's JetStream TV sample ported to Compose Multiplatform and running natively on the Apple TV 4K simulator: the full app, from one shared UI codebase, built from Maven Central with nothing published locally. It is the proof that the toolchain builds a real TV app with zero application-source changes.

  • Apple TV
  • Android TV
View on GitHub →

OnePlayer

One player API, several engines

A video player abstraction that presents a single Kotlin interface over multiple playback engines, so shared code drives ExoPlayer on Android and AVPlayer or libVLC on Apple platforms without the call sites knowing which is underneath.

  • Android
  • iOS
  • tvOS
View on GitHub →

TV-Guide

Android TV programme guide component

The customizable Android TV EPG library the multiplatform version grew out of, built for production apps with heavy channel counts and remote-first navigation.

  • Android TV
View on GitHub →

Need Compose somewhere it does not officially go yet?

Porting a framework to a new Kotlin/Native target means going deep on UIKit interop, Compose's rendering and input pipeline, Gradle dependency-resolution internals, and the release engineering to sign and publish a whole stack to Maven Central. We have done all of it once, which is why we can tell you honestly whether the platform you need is reachable. Tell us where you are trying to ship.