{"adoption": {"forks": 179, "observed_at": "2026-08-28T04:03:19.537186+00:00", "stars": 1037}, "canonical_url": "https://ross.abutalabs.com/products/socketio-p2p", "card": {"archived": false, "artifact_type": "library", "description": null, "domain": ["web-development", "networking", "microservices"], "enriched": true, "function": ["websocket", "p2p", "networking", "rpc"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["socketio/socket.io-p2p"], "name": "socketio/socket.io-p2p", "platform": ["browser"], "pushed_at": "2020-10-03T17:20:07+00:00", "repo": "socketio/socket.io-p2p", "stars": 1037, "tags": ["webrtc", "socketio", "peer-to-peer", "signaling", "event-based-communication", "real-time", "nodejs", "javascript"], "topics": [], "urls": [], "use_cases": ["build a peer-to-peer chat app in the browser", "exchange data directly between clients without a server relay", "add WebRTC data channels to an existing Socket.IO app", "send events between peers with fallback for unsupported browsers", "set up signaling for WebRTC peer connections via Socket.IO rooms"], "what_it_is": "A JavaScript library that sets up WebRTC peer-to-peer connections between browsers using the Socket.IO event protocol, with Socket.IO handling signaling and fallback transport. It lets clients emit and receive events directly over peer connections once upgraded from the initial Socket.IO channel.", "when_to_avoid": ["you need media streaming (audio/video) rather than data channels", "you want a modern, actively maintained P2P library - this project has seen little activity since 2020", "your app requires large-scale mesh networking beyond a handful of peers per client"], "when_to_choose": ["you already use Socket.IO and want to offload traffic to direct peer connections", "you need event-based messaging over WebRTC data channels with minimal setup", "you want automatic fallback to server transport when WebRTC is unavailable"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/socketio-p2p", "repo": "socketio/socket.io-p2p", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "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:03:19.537186+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.537186+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.583193+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "32cf387450ad5951b8be22256b69e8606a1e1b89e34d5d45292de25653e50fad", "fetched_at": "2026-08-28T04:03:19.537186+00:00", "kind": "readme", "missing": false, "url": "https://github.com/socketio/socket.io-p2p"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4179, "days_push": 2160, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}