{"adoption": {"forks": 769, "observed_at": "2026-08-28T04:08:57.302540+00:00", "stars": 4706}, "canonical_url": "https://ross.abutalabs.com/products/mirotalk", "card": {"archived": false, "artifact_type": "application", "description": "🚀 Self-hosted open-source WebRTC video conferencing platform built on peer-to-peer (P2P) architecture for fast, secure real-time communication with end-to-end privacy.", "domain": ["web-development", "self-hosted", "privacy", "cross-platform"], "enriched": true, "function": ["websocket", "http-server", "web-framework", "chat-interface", "file-upload", "video-processing", "audio-processing"], "health_score": 80, "homepage": "https://p2p.mirotalk.com", "language": "JavaScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["miroslavpejic85/mirotalk"], "name": "miroslavpejic85/mirotalk", "platform": ["self-hosted", "browser", "cross-platform"], "pushed_at": "2026-08-26T20:19:16+00:00", "repo": "miroslavpejic85/mirotalk", "stars": 4706, "tags": ["webrtc", "video-conferencing", "p2p", "screen-sharing", "whiteboard", "meeting-recording", "signaling-server", "jitsi-alternative", "room-based-calls", "rest-api", "real-time", "web-server", "nodejs", "docker"], "topics": ["webrtc", "video-call", "video-chat", "video-conferencing", "webrtc-call", "webrtc-video", "screensharing", "meeting", "conferencing", "p2p", "decentralized", "html-css-javascript", "javascript", "mirotalk", "whiteboard", "peer-to-peer", "hacktoberfest", "docker-image", "livechat", "collaboration"], "urls": [], "use_cases": ["self-host a private video conferencing server", "run video calls without third-party services like Zoom", "embed video calls into my website via iframe or REST API", "host small-group meetings with screen sharing and whiteboard", "make browser-based video calls with no login or plugin", "record meetings locally while keeping data private", "replace Jitsi Meet with an open-source alternative"], "what_it_is": "MiroTalk P2P is a self-hosted, open-source WebRTC video conferencing platform that uses direct peer-to-peer connections for real-time video calls, screen sharing, chat, whiteboarding, and file sharing. It runs on Node.js with Docker support, offers a REST API for programmatic room creation, and keeps media flowing directly between participants for privacy and low server load.", "when_to_avoid": ["you need large webinars or many-participant meetings where mesh P2P doesn't scale", "you require SFU-based features like server-side recording or broadcasting", "you need a managed SaaS solution without self-hosting", "you cannot run a signaling server and TURN relay"], "when_to_choose": ["you need full control and privacy over your video meetings", "you host small-to-medium group calls where P2P mesh is sufficient", "you want unlimited rooms and no call time limits", "you need browser-based calls with no downloads or accounts", "you want REST API and iframe integration for embedding calls"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mirotalk", "repo": "miroslavpejic85/mirotalk", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/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:08:57.302540+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.302540+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:19:10.464183+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e88ea4b002adf51c03acf1d962105a8ac5baeb2ede994c22109beeb4334cea9", "fetched_at": "2026-08-28T04:08:57.302540+00:00", "kind": "readme", "missing": false, "url": "https://github.com/miroslavpejic85/mirotalk"}, {"content_hash": "daa2ca03324daab6b5b27a3eb67c575bc2981c5b63ce2b0f128caeac37680862", "fetched_at": "2026-08-29T09:03:20.445022+00:00", "kind": "homepage", "missing": false, "url": "https://p2p.mirotalk.com"}, {"content_hash": "763e43469bb9ea3768a0d3f9ee9cdfef3f4b3ba328393eaee051a4a1f86c6bf6", "fetched_at": "2026-08-29T09:03:20.453957+00:00", "kind": "site_page", "missing": false, "url": "https://docs.mirotalk.com/mirotalk-p2p"}, {"content_hash": "77f21b0ae23da89190b2a24feaf67a21a220f14bdb9276a791ac44044328bd2a", "fetched_at": "2026-08-29T09:03:20.455837+00:00", "kind": "site_page", "missing": false, "url": "https://p2p.mirotalk.com/api/v1/docs"}], "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": 2070, "days_push": 7, "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}}