{"adoption": {"forks": 28, "observed_at": "2026-08-28T04:04:56.682664+00:00", "stars": 1516}, "canonical_url": "https://ross.abutalabs.com/products/buttfish", "card": {"archived": false, "artifact_type": "application", "description": "Effortlessly transmitting Morse Code of chess moves to your butthole 💝", "domain": ["gaming-tools", "entertainment", "hardware"], "enriched": true, "function": ["game", "developer-tools"], "health_score": 61, "homepage": null, "language": "C#", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["RonSijm/ButtFish"], "name": "RonSijm/ButtFish", "platform": ["cross-platform", "dotnet"], "pushed_at": "2026-02-18T19:38:37+00:00", "repo": "RonSijm/ButtFish", "stars": 1516, "tags": ["chess", "morse-code", "buttplug-io", "meme", "stockfish", "haptic-feedback", "hardware", "web"], "topics": ["buttplug", "chess", "csharp", "meme", "morse-code", "buttfish"], "urls": [], "use_cases": ["receive chess move suggestions via haptic feedback", "play blindfolded chess against an AI relying on vibrations", "connect chess engines to buttplug.io devices", "recreate the Hans Niemann cheating meme", "play chess without looking at the board"], "what_it_is": "ButtFish is a meme C# application that transmits chess engine best-move suggestions as Morse code vibrations to a buttplug.io-compatible device. It also exists as a web version with free play and blindfolded AI game modes.", "when_to_avoid": ["you need a serious chess training or cheating-detection tool", "you need production software with a license or support", "you have no compatible haptic hardware"], "when_to_choose": ["you want a fun meme project linking chess engines to haptic devices", "you want to play blindfolded chess with vibration-based move hints", "you already own a buttplug.io-compatible toy"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/buttfish", "repo": "RonSijm/ButtFish", "role": "main", "score": 53}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "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:56.682664+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:56.682664+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:05.359406+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b10182ccb9ba5b3889a7451d81f00620412a9b36bdf46d90a7e2c62a82438e3e", "fetched_at": "2026-08-28T04:04:56.682664+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RonSijm/ButtFish"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 68, "longevity": 100, "rhythm": 8}, "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": 1437, "days_push": 196, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 53, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}