{"adoption": {"forks": 138, "observed_at": "2026-08-28T04:03:58.630394+00:00", "stars": 1203}, "canonical_url": "https://ross.abutalabs.com/products/homehost", "card": {"archived": false, "artifact_type": "application", "description": "self-hosted, Netflix-like app made for streaming", "domain": ["media", "self-hosted", "web-development", "backend"], "enriched": true, "function": ["http-server", "web-framework", "search-engine", "data-science"], "health_score": 72, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ridhwaans/homehost"], "name": "ridhwaans/homehost", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-06-11T02:58:36+00:00", "repo": "ridhwaans/homehost", "stars": 1203, "tags": ["media-server", "netflix-clone", "streaming", "movies", "tv-shows", "music", "tmdb", "spotify", "react", "home-network", "nodejs", "web-server"], "topics": ["react", "netflix", "streaming", "movies", "music", "tv", "books", "comics", "podcasts", "media", "self-hosted", "spotify", "tmdb", "node"], "urls": [], "use_cases": ["stream my movie collection on my home network with a Netflix-style interface", "self-hosted media server for TV shows and movies", "browse and play my local music library like Spotify", "catalog my media files with metadata from TMDb and Spotify", "family media streaming app without cloud services", "watch my local video files in a browser with search"], "what_it_is": "Homehost is a self-hosted, Netflix-like web application for streaming your personal media collection (movies, TV shows, and music) within a home network. It is built with a React client and a Node.js server that scans media directories, fetches metadata from TMDb and Spotify, and stores it in a local database.", "when_to_avoid": ["you need transcoding for unsupported codecs or remote access outside your home", "you need audiobooks, podcasts, photos, or DVR features", "you cannot obtain TMDb and Spotify API keys or your media naming is inconsistent"], "when_to_choose": ["you want a Netflix-like UI for your own media files on a home network", "you prefer a lightweight self-hosted alternative to Plex/Jellyfin focused on streaming", "your media follows simple directory naming conventions and you want automatic TMDb/Spotify metadata"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/homehost", "repo": "ridhwaans/homehost", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "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:03:58.630394+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.630394+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:20:32.213865+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1439e624385ea98f7c8f76a7eac4091cda4a1d26402079ecf24b8b8eeea074b3", "fetched_at": "2026-08-28T04:03:58.630394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ridhwaans/homehost"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3122, "days_push": 83, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}