whatisgithub

What is tivi?

chrisbanes/tivi — explained in plain English

Analysis updated 2026-06-24

6,737KotlinAudience · developerComplexity · 4/5LicenseSetup · hard

In one sentence

Tivi was a TV show tracking app built with Kotlin Multiplatform that shared code across Android, iOS, and desktop, now deprecated in November 2024 and valuable today mainly as a reference codebase.

Mindmap

mindmap
  root((tivi))
    What it does
      TV show tracking
      Trakt.tv sync
      Cross-platform app
    Tech Stack
      Kotlin Multiplatform
      Compose Multiplatform
      Android iOS Desktop
    Status
      Deprecated Nov 2024
      Reference codebase
      Apache 2.0 license
    Use Cases
      KMP reference
      Shared UI example
      Multiplatform learning
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how to share UI code across Android, iOS, and desktop in a single Kotlin codebase using Compose Multiplatform.

USE CASE 2

Use Tivi's module structure as a reference when starting your own Kotlin Multiplatform project.

USE CASE 3

Learn how to integrate third-party APIs like Trakt.tv or TMDb into a Kotlin Multiplatform app with shared network code.

USE CASE 4

Reference Tivi's shared business logic layer when deciding how to split platform-specific from shared code in a KMP project.

What is it built with?

KotlinKotlin MultiplatformCompose MultiplatformAndroidiOSJava

How does it compare?

chrisbanes/tivisourcerer-io/sourcerer-appkunzisoft/keepassdx
Stars6,7376,7386,731
LanguageKotlinKotlinKotlin
Setup difficultyhardeasyeasy
Complexity4/52/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

iOS build requires Xcode, CocoaPods, and a Ruby environment, API keys from both Trakt.tv and TMDb are required before the app will connect to any data.

Use freely for any purpose including commercial use, keep the copyright and Apache 2.0 license notices when you distribute it.

So what is it?

Tivi was a TV show tracking app that connected to Trakt.tv, a service where users log the shows and episodes they have watched. The app is now deprecated: the developer announced in November 2024 that development has stopped after roughly nine years, and the app has been removed from both the Google Play Store and the iOS App Store. During its active development, Tivi ran on Android, iOS, and desktop computers running Java. All three versions shared most of their code through Kotlin Multiplatform, a technology that lets developers write shared logic in Kotlin and compile it for different platforms. The user interface was also shared across platforms using Compose Multiplatform, a UI toolkit from JetBrains. To use the app with a Trakt.tv account, developers building from source needed API keys from both Trakt.tv and The Movie Database (TMDb), the latter being used for cover images and show metadata. Setting up the Android or Desktop version required Android Studio or IntelliJ IDEA. Setting up the iOS version required Xcode, CocoaPods, and a Ruby environment to manage the build dependencies. The codebase is licensed under Apache 2.0 and was originally copyrighted by Google LLC before ownership transferred to the primary developer. Because the app is now deprecated and removed from app stores, its main value at this point is as a reference example of how a multiplatform Kotlin app with shared Compose UI can be structured across Android, iOS, and desktop targets.

Copy-paste prompts

Prompt 1
Show me how Tivi structures its Kotlin Multiplatform modules so Android and iOS share the same data layer but each has its own UI entry point.
Prompt 2
I want to start a new Kotlin Multiplatform project with Compose Multiplatform. Walk me through the Android Studio setup and the basic module layout Tivi uses.
Prompt 3
How does Tivi handle Trakt.tv OAuth token storage and refresh in shared Kotlin code? Show me a pattern for a KMP credential store.
Prompt 4
What are the Xcode and CocoaPods setup steps needed to build Tivi's iOS target from source, including the required Ruby environment?

Frequently asked questions

What is tivi?

Tivi was a TV show tracking app built with Kotlin Multiplatform that shared code across Android, iOS, and desktop, now deprecated in November 2024 and valuable today mainly as a reference codebase.

What language is tivi written in?

Mainly Kotlin. The stack also includes Kotlin, Kotlin Multiplatform, Compose Multiplatform.

What license does tivi use?

Use freely for any purpose including commercial use, keep the copyright and Apache 2.0 license notices when you distribute it.

How hard is tivi to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is tivi for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.