{"adoption": {"forks": 887, "observed_at": "2026-08-28T04:10:25.589565+00:00", "stars": 8761}, "canonical_url": "https://ross.abutalabs.com/products/gorush", "card": {"archived": false, "artifact_type": "service", "description": "A push notification server written in Go (Golang).", "domain": ["mobile-development", "backend", "apis", "self-hosted"], "enriched": true, "function": ["http-server", "api-framework", "cli", "webhook"], "health_score": 97, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["appleboy/gorush"], "name": "appleboy/gorush", "platform": ["go", "self-hosted", "cross-platform", "cli"], "pushed_at": "2026-07-25T05:24:01+00:00", "repo": "appleboy/gorush", "stars": 8761, "tags": ["push-notifications", "apns", "fcm", "gcm", "huawei-hms", "notification-server", "microservice", "gin", "docker"], "topics": ["ios-notification", "notification-server", "android", "golang", "gcm", "gorush-server", "apns", "ios-alert-payload", "ios"], "urls": [], "use_cases": ["send push notifications to ios and android devices from my backend", "self-hosted push notification server with rest api", "send apns notifications without writing ios code", "deliver fcm push notifications via http api", "centralized notification microservice for mobile apps", "send push notifications from the command line"], "what_it_is": "Gorush is a push notification micro server written in Go using the Gin framework. It exposes a REST API and CLI for sending notifications to iOS (APNs), Android (FCM/GCM), and Huawei devices, deployable as a binary or Docker container.", "when_to_avoid": ["you only need push notifications inside a single-platform app and prefer native SDKs directly", "you need email, SMS, or multi-channel notifications rather than mobile push", "you want a managed SaaS notification service with dashboards"], "when_to_choose": ["you need a standalone, self-hosted push notification gateway supporting APNs, FCM, and Huawei", "you want to decouple notification sending from your application via a simple REST API", "you need queue-backed, high-throughput notification delivery with statistics"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gorush", "repo": "appleboy/gorush", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "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:10:25.589565+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:25.589565+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:25:15.270688+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cb37f7cc737e768ac24bdb031d336413e00a6b2f905b33b36ee96571197cc9", "fetched_at": "2026-08-28T04:10:25.589565+00:00", "kind": "readme", "missing": false, "url": "https://github.com/appleboy/gorush"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 83}, "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": 3816, "days_push": 39, "days_rel": 39, "gap_med": 37.5, "n_releases_24m": 13}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}