{"adoption": {"forks": 30351, "observed_at": "2026-08-28T04:06:09.789186+00:00", "stars": 2055}, "canonical_url": "https://ross.abutalabs.com/products/samqin123-moontv", "card": {"archived": false, "artifact_type": "application", "description": null, "domain": ["media", "web-development", "entertainment", "self-hosted"], "enriched": true, "function": ["search-engine", "video-processing", "web-framework", "self-hosted"], "health_score": 41, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["samqin123/MoonTV"], "name": "samqin123/MoonTV", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2025-08-04T18:35:00+00:00", "repo": "samqin123/MoonTV", "stars": 2055, "tags": ["video-streaming", "aggregator", "nextjs", "pwa", "hls", "movie-player", "tv-shows", "web-server", "docker"], "topics": [], "urls": [], "use_cases": ["search multiple free streaming sources at once", "watch movies and TV shows online in a self-hosted player", "sync watch progress and favorites across devices", "deploy a personal streaming site on Vercel, Cloudflare, or Docker", "install a PWA for a native-like mobile viewing experience", "skip embedded ads in videos automatically"], "what_it_is": "MoonTV is a self-hostable, cross-platform video aggregation player built with Next.js 14, Tailwind CSS, and TypeScript. It aggregates search across dozens of free streaming resource sites and provides online playback via ArtPlayer and HLS.js, with favorites, watch history, and multi-device sync.", "when_to_avoid": ["you need to host your own video files rather than aggregate third-party sources", "you require a legally licensed content catalog", "you need native mobile or TV apps rather than a web/PWA interface"], "when_to_choose": ["you want a ready-to-deploy aggregator UI for free video resource sites", "you need multi-source search with watch history and favorites sync", "you want one-command Docker or free Vercel/Cloudflare deployment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/samqin123-moontv", "repo": "samqin123/MoonTV", "role": "main", "score": 34}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "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:06:09.789186+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:09.789186+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:57:16.916316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d65957a1017053914756b8feac6812fe3bad6e437265dc547867c7568eb8d1f", "fetched_at": "2026-08-28T04:06:09.789186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/samqin123/MoonTV"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 35, "longevity": 31, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 439, "days_push": 394, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 34, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}