{"adoption": {"forks": 158, "observed_at": "2026-08-28T04:04:06.248580+00:00", "stars": 1241}, "canonical_url": "https://ross.abutalabs.com/products/bemuse", "card": {"archived": false, "artifact_type": "application", "description": "⬤▗▚▚▚ Web-based online rhythm action game. Based on HTML5 technologies, React, Redux and Pixi.js.", "domain": ["gaming-tools", "web-development", "frontend", "entertainment"], "enriched": true, "function": ["game-engine", "graphics", "audio-processing", "state-management", "ui-components"], "health_score": 97, "homepage": "https://bemuse.ninja/", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["bemusic/bemuse"], "name": "bemusic/bemuse", "platform": ["browser", "cross-platform"], "pushed_at": "2026-07-27T11:48:16+00:00", "repo": "bemusic/bemuse", "stars": 1241, "tags": ["rhythm-game", "bms", "bmson", "pixijs", "react", "redux", "html5-game", "music-game", "online-ranking", "keyboard-controls", "game-development", "web-server"], "topics": ["javascript", "rhythm-game", "react", "redux", "pixi", "html5", "bmson", "bms", "scss", "typescript", "docusaurus", "hacktoberfest", "rushjs"], "urls": [], "use_cases": ["play BMS rhythm game songs in the browser", "play custom BMS song folders without installing anything", "compete on online rhythm game leaderboards", "play a 7-key keyboard rhythm game", "play rhythm games with friends in party mode", "find and play community-published BMS songs online"], "what_it_is": "Bemuse is an open-source, web-based online rhythm action game that plays songs in BMS/BMSON format directly in the browser. It is built with HTML5 technologies including React, Redux, and Pixi.js, and features online rankings, party mode, and keyboard-based 7-key gameplay.", "when_to_avoid": ["you need offline desktop rhythm game features or native performance", "you want to play formats other than BMS/BMSON", "you use a browser other than Chrome, which is the recommended environment"], "when_to_choose": ["you want to play BMS/BMSON songs instantly in a browser with no install", "you want an open-source rhythm game with online rankings and multiplayer party mode", "you want to study how a full HTML5 game is built with React, Redux, and Pixi.js"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bemuse", "repo": "bemusic/bemuse", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "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:04:06.248580+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.248580+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:28.330128+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d972b73d5cdacaecbdcd373eafa678715356cdb46422600da6e044b9d9e5d59e", "fetched_at": "2026-08-28T04:04:06.248580+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bemusic/bemuse"}, {"content_hash": "643ffdcdac7a1d1cb25ae20ac7f3b7563744c1a22bd64eac41582d3ca5c357e8", "fetched_at": "2026-08-29T12:20:23.826064+00:00", "kind": "homepage", "missing": false, "url": "https://bemuse.ninja/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 63}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4300, "days_push": 37, "days_rel": 37, "gap_med": null, "n_releases_24m": 1}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}