{"adoption": {"forks": 68, "observed_at": "2026-09-03T02:15:18.577115+00:00", "stars": 1059}, "canonical_url": "https://ross.abutalabs.com/products/aerialviews", "card": {"archived": false, "artifact_type": "application", "description": "A screensaver for Android TV devices including Google TV, Nvidia Shield, and Fire TV. Inspired by Apple TV's video screensaver.", "domain": ["media", "android-tools", "entertainment"], "enriched": true, "function": ["video-processing", "gui"], "health_score": 100, "homepage": null, "language": "Kotlin", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["theothernt/AerialViews"], "name": "theothernt/AerialViews", "platform": [], "pushed_at": "2026-09-02T18:21:35+00:00", "repo": "theothernt/AerialViews", "stars": 1059, "tags": ["screensaver", "android-tv", "aerial-videos", "fire-tv", "nvidia-shield", "google-tv", "exoplayer", "dolby-vision", "immich", "home-assistant", "android", "mobile"], "topics": ["android-tv", "screensaver", "android", "kotlin", "nvidia-shield", "chromecast", "google-tv", "media3-exoplayer", "exoplayer2"], "urls": [], "use_cases": ["show a video screensaver on my Android TV like Apple TV", "display my Immich photo library as a screensaver on Fire TV", "play 4K HDR aerial videos on Nvidia Shield when idle", "show clock and weather overlays on my TV screensaver", "send custom messages to my TV from Home Assistant", "avoid OLED burn-in by moving screensaver overlays", "use my own videos and photos as a TV screensaver"], "what_it_is": "Aerial Views is an open-source screensaver app for Android TV, Google TV, Fire TV, and Nvidia Shield devices, inspired by Apple TV's video screensaver. It plays 4K HDR aerial videos and personal media from USB, Immich, Nextcloud, Samba, or WebDAV with customizable overlays.", "when_to_avoid": ["you need a screensaver for non-Android platforms like Roku, Apple TV, or desktop OSes", "you want a simple photo slideshow without video playback features", "you require a GPL-unfriendly license for redistribution in your own app"], "when_to_choose": ["you want an Apple TV-style aerial video screensaver on Android/Google TV, Fire TV, or Nvidia Shield", "you want to display personal media from USB, Immich, Nextcloud Memories, Samba, or WebDAV as a screensaver", "you need overlays like clock, date, metadata, or Home Assistant-driven messages on your TV", "you care about HDR, Dolby Vision, and refresh rate switching"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aerialviews", "repo": "theothernt/AerialViews", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:18.577115+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:59:39.297602+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55abac865ce699911216d1a4f35d9dddd711d4cb5dc5f929c438beeb9eeb0384", "fetched_at": "2026-09-03T02:15:18.577115+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theothernt/AerialViews"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 83}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2361, "days_push": 0, "days_rel": 33, "gap_med": 51.5, "n_releases_24m": 13}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}