{"adoption": {"forks": 43, "observed_at": "2026-09-01T02:14:01.712981+00:00", "stars": 1078}, "canonical_url": "https://ross.abutalabs.com/products/gameyfin", "card": {"archived": false, "artifact_type": "application", "description": "Manage your video games.", "domain": ["gaming-tools", "self-hosted", "media", "web-development"], "enriched": true, "function": ["http-server", "file-upload", "search-engine", "plugin-system", "auth", "self-hosted"], "health_score": 98, "homepage": null, "language": "Kotlin", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["gameyfin/gameyfin"], "name": "gameyfin/gameyfin", "platform": ["self-hosted", "jvm", "windows", "cross-platform"], "pushed_at": "2026-08-31T18:13:29+00:00", "repo": "gameyfin/gameyfin", "stars": 1078, "tags": ["game-library-manager", "media-server", "jellyfin-inspired", "kotlin", "spring-boot", "game-metadata", "lan-sharing", "oauth2-sso", "docker", "web-server", "linux", "macos"], "topics": ["hacktoberfest"], "urls": [], "use_cases": ["organize my video game collection with a web interface", "self-hosted game library server like jellyfin for games", "share my game library with friends over lan", "automatically download cover art and metadata for my games", "let friends download games from my server via browser", "host a game library with oauth2 single sign-on"], "what_it_is": "Gameyfin is a self-hosted web application that organizes video game collections into a browsable library, similar to Jellyfin for media. It scans game folders, fetches metadata and cover art, and lets users download games and share libraries via a browser interface.", "when_to_avoid": ["you want to stream or play games remotely rather than download files", "you need DRM-protected platform integration (Steam, Epic launchers)", "you want a lightweight desktop-only organizer without a web server", "you cannot run a JVM or container in your environment"], "when_to_choose": ["you want a jellyfin-like self-hosted library specifically for video games", "you need browser-based access and downloads for a shared game collection", "you want lan-friendly caching, theming, and plugin extensibility", "you need SSO integration via OAuth2/OpenID Connect for your library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gameyfin", "repo": "gameyfin/gameyfin", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "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-01T02:14:01.712981+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:01.712981+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:53:36.815221+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ab2c8f0c87473e39da0206905568eba666959831239179289e3c7dd155630cc", "fetched_at": "2026-09-01T02:14:01.712981+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gameyfin/gameyfin"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 74}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1521, "days_push": 2, "days_rel": 173, "gap_med": 5, "n_releases_24m": 12}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}