{"adoption": {"forks": 70, "observed_at": "2026-08-28T04:04:00.095054+00:00", "stars": 1210}, "canonical_url": "https://ross.abutalabs.com/products/detect-gpu", "card": {"archived": false, "artifact_type": "library", "description": "Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.", "domain": ["web-development", "frontend", "graphics"], "enriched": true, "function": ["graphics", "developer-tools"], "health_score": 79, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["pmndrs/detect-gpu"], "name": "pmndrs/detect-gpu", "platform": ["browser"], "pushed_at": "2026-08-23T01:03:46+00:00", "repo": "pmndrs/detect-gpu", "stars": 1210, "tags": ["gpu-detection", "webgl", "benchmarking", "progressive-enhancement", "threejs", "adaptive-quality", "hardware-detection", "javascript", "typescript", "nodejs"], "topics": ["gpu", "detection", "browser", "webgl", "webgl2", "benchmarks", "progressive-enhancement", "adaptive", "device", "hardware", "demo", "threejs", "babylonjs", "pixijs"], "urls": [], "use_cases": ["detect gpu tier in browser", "adjust 3d scene quality based on device gpu", "fallback for devices without webgl support", "progressive enhancement for webgl apps", "detect mobile gpu capabilities", "choose default resolution or effects based on hardware"], "what_it_is": "A TypeScript library that classifies a user's GPU into performance tiers (0-3) based on 3D rendering benchmark scores, using WebGL renderer info and framerate data. It lets developers of graphically intensive web applications pick sensible default quality settings per device.", "when_to_avoid": ["You need exact GPU model identification or detailed specs rather than a performance tier", "You're doing server-side or native (non-browser) GPU detection", "You need up-to-the-minute data for brand-new GPUs, since the benchmark source stopped updating in December 2025"], "when_to_choose": ["You're building a WebGL/Three.js/Babylon.js/Pixi.js app and want to scale graphics quality to the user's hardware", "You need a lightweight browser-side GPU capability check with benchmark-backed tiers", "You want a graceful non-WebGL fallback path"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/detect-gpu", "repo": "pmndrs/detect-gpu", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "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:00.095054+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.095054+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:18:32.429815+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1b85aa87e0e1f890c8683be5d81b5103c1c93d5a45088d679584700d2bbc9bf5", "fetched_at": "2026-08-28T04:04:00.095054+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pmndrs/detect-gpu"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "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": 2962, "days_push": 11, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}