{"adoption": {"forks": 377, "observed_at": "2026-08-28T04:09:02.462245+00:00", "stars": 4923}, "canonical_url": "https://ross.abutalabs.com/products/kvm", "card": {"archived": false, "artifact_type": "application", "description": "Control any computer remotely", "domain": ["hardware", "self-hosted", "networking", "developer-tools", "cross-platform"], "enriched": true, "function": ["video-processing", "networking", "http-server", "self-hosted", "developer-tools"], "health_score": 93, "homepage": "https://jetkvm.com", "language": "TypeScript", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["jetkvm/kvm"], "name": "jetkvm/kvm", "platform": ["go", "self-hosted", "cross-platform"], "pushed_at": "2026-07-02T09:48:02+00:00", "repo": "jetkvm/kvm", "stars": 4923, "tags": ["kvm-over-ip", "remote-management", "webrtc", "ipmi-alternative", "tailscale", "firmware", "h264", "linux", "web-server"], "topics": ["kvm"], "urls": [], "use_cases": ["remotely control a computer's BIOS or boot process", "manage headless servers without IPMI", "fix a machine that won't boot from afar", "install an operating system on a remote workstation", "access a home lab computer over the internet", "self-host remote KVM access with Tailscale or Headscale"], "what_it_is": "JetKVM is an open-source KVM over IP solution (firmware and web dashboard) for remotely controlling computers via keyboard, video, and mouse. It streams 1080p60 H.264 video with 30-60ms latency over WebRTC, with optional cloud or Tailscale-based remote access.", "when_to_avoid": ["you only need screen sharing for an already-booted OS (use VNC/RDP instead)", "you don't want to buy or run dedicated KVM hardware", "you need multi-monitor or high-resolution beyond 1080p60", "you need enterprise IPMI features like virtual media on arbitrary servers"], "when_to_choose": ["you need out-of-band remote control including BIOS/boot screens", "you want an open-source, hackable IPMI alternative", "you need low-latency 1080p60 video streaming", "you prefer self-hosted or Tailscale-based access over vendor cloud"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kvm", "repo": "jetkvm/kvm", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "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:09:02.462245+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.462245+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:00.807520+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16e14f4398c30b1e1b58d98364a9f5ff0c03c4ba29de45be8a6453a029f6fb82", "fetched_at": "2026-08-28T04:09:02.462245+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jetkvm/kvm"}, {"content_hash": "5c06caff225d042c2ba8e5276337fe9c1f57db379b869d3a37bf82405003bedc", "fetched_at": "2026-08-29T09:00:12.549711+00:00", "kind": "homepage", "missing": false, "url": "https://jetkvm.com"}, {"content_hash": "72cd170931110b5c77edafafb83a0677cd9b6643661e9bd1feddfd8b32f0c659", "fetched_at": "2026-08-29T09:00:12.552355+00:00", "kind": "site_page", "missing": false, "url": "https://jetkvm.com/docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 49, "rhythm": 82}, "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": 699, "days_push": 62, "days_rel": 121, "gap_med": 16, "n_releases_24m": 20}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}