{"adoption": {"forks": 576, "observed_at": "2026-08-28T04:09:35.068102+00:00", "stars": 6101}, "canonical_url": "https://ross.abutalabs.com/products/papercups", "card": {"archived": false, "artifact_type": "application", "description": "Open-source live customer chat", "domain": ["chatbots", "web-development", "self-hosted", "privacy"], "enriched": true, "function": ["chat-interface", "web-framework", "websocket", "self-hosted"], "health_score": 20, "homepage": null, "language": "Elixir", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["papercups-io/papercups"], "name": "papercups-io/papercups", "platform": ["self-hosted", "elixir"], "pushed_at": "2024-02-15T05:21:47+00:00", "repo": "papercups-io/papercups", "stars": 6101, "tags": ["live-chat", "chat-widget", "intercom-alternative", "zendesk-alternative", "slack-integration", "mattermost-integration", "twilio-sms", "email-replies", "react-widget", "flutter-widget", "react-native-widget", "gdpr", "help-desk", "phoenix-framework", "heroku-deploy", "customer-support", "web-server", "docker", "javascript", "typescript"], "topics": ["elixir", "phoenix-framework", "phoenix", "react", "intercom", "livechat", "docker", "heroku", "frontend", "typescript", "drift", "javascript", "slack", "elixir-phoenix", "zendesk", "help-desk", "customer-support", "chat-widget", "gdpr-compliant", "mattermost"], "urls": [], "use_cases": ["self-hosted live chat for customer support on my website", "open-source Intercom alternative that keeps customer data in-house", "embed a customizable chat widget in a React or Flutter app", "reply to support tickets from Slack or Mattermost channels", "handle customer conversations over email and Twilio SMS from one dashboard", "GDPR-friendly customer messaging tool I can host myself"], "what_it_is": "Papercups is an open-source, self-hosted live customer support chat application built with Elixir/Phoenix and React, offering an embeddable chat widget plus integrations with Slack, Mattermost, email, and Twilio SMS. It is positioned as a privacy-focused alternative to Intercom and Zendesk for companies that want customer conversations to stay on their own infrastructure.", "when_to_avoid": ["you expect active development and major new features - the project is in maintenance mode", "you want a turnkey SaaS with a large support team behind it", "you need advanced help-desk features like ticketing workflows or deep CRM integrations", "you are not comfortable operating an Elixir/Phoenix deployment yourself"], "when_to_choose": ["you need a self-hosted, privacy-conscious alternative to Intercom, Zendesk, or Drift", "your stack is Elixir/Phoenix and you want to extend or audit the support tooling", "you want to answer customer chats directly from Slack or Mattermost", "you need an embeddable widget across web, React Native, and Flutter"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/papercups", "repo": "papercups-io/papercups", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "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:35.068102+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:35.068102+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:48:15.769668+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6775d00339f2b147a98f971310759246d561ad3c0ee3eb3cd4f320d6307ddf6", "fetched_at": "2026-08-28T04:09:35.068102+00:00", "kind": "readme", "missing": false, "url": "https://github.com/papercups-io/papercups"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2240, "days_push": 930, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}