{"adoption": {"forks": 896, "observed_at": "2026-08-28T04:09:48.116523+00:00", "stars": 6727}, "canonical_url": "https://ross.abutalabs.com/products/tivi", "card": {"archived": true, "artifact_type": "application", "description": "Tivi is a TV show tracking Android app, which connects to trakt.tv", "domain": ["mobile-development", "entertainment", "cross-platform", "media"], "enriched": true, "function": ["mobile-framework", "ui-components", "http-client", "state-management"], "health_score": 10, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["chrisbanes/tivi"], "name": "chrisbanes/tivi", "platform": ["jvm", "cross-platform"], "pushed_at": "2024-11-12T18:56:00+00:00", "repo": "chrisbanes/tivi", "stars": 6727, "tags": ["kotlin-multiplatform", "jetpack-compose", "compose-multiplatform", "trakt-tv", "tv-show-tracking", "media-tracking", "android", "ios", "desktop"], "topics": ["trakt", "android-application", "kotlin", "jetpack-compose", "kotlin-coroutines", "kotlin-multiplatform-mobile"], "urls": [], "use_cases": ["track tv shows i watch across devices", "android app to sync watched episodes with trakt.tv", "discover and follow tv series recommendations", "kotlin multiplatform sample app to learn from", "compose multiplatform reference application", "manage my tv show watchlist"], "what_it_is": "Tivi is a TV show tracking application that connects to Trakt.tv, built with Kotlin Multiplatform and Compose Multiplatform for Android, iOS, and desktop JVM. It served as a showcase of modern Android and multiplatform development techniques before being deprecated in November 2024.", "when_to_avoid": ["you need an actively maintained app with bug fixes and new features", "you require full feature parity on desktop, which lags behind mobile", "you need Play Store distribution, since the developer account was restricted"], "when_to_choose": ["you want a polished open-source TV tracking app for Android or iOS", "you are studying Kotlin Multiplatform or Compose Multiplatform architecture patterns", "you want to fork and maintain your own media tracking client"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tivi", "repo": "chrisbanes/tivi", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:48.116523+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:42:53.541790+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e8e941fdb2ccdd64bdc044b896def0bd05fc02cb5916afcce3f96ff1821a66a", "fetched_at": "2026-08-28T04:09:48.116523+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chrisbanes/tivi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3303, "days_push": 659, "days_rel": 722, "gap_med": null, "n_releases_24m": 1}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}