{"adoption": {"forks": 150, "observed_at": "2026-08-28T04:04:48.900866+00:00", "stars": 1468}, "canonical_url": "https://ross.abutalabs.com/products/gosms", "card": {"archived": false, "artifact_type": "application", "description": ":mailbox_closed: Your own local SMS gateway in Go", "domain": ["self-hosted", "developer-tools"], "enriched": true, "function": ["http-server", "api-framework", "message-queue", "webhook"], "health_score": 20, "homepage": null, "language": "Go", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["haxpax/gosms"], "name": "haxpax/gosms", "platform": ["windows", "cross-platform", "self-hosted", "go"], "pushed_at": "2021-02-05T19:15:02+00:00", "repo": "haxpax/gosms", "stars": 1468, "tags": ["sms-gateway", "gsm-modem", "sms", "local-gateway", "telephony", "messaging", "automation", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["send sms without an internet-based gateway", "run a local sms gateway with a gsm modem", "send sms notifications from internal systems via http api", "save money on sms by using a local modem", "queue and retry sms messages with multiple modems"], "what_it_is": "A self-hosted local SMS gateway written in Go that sends SMS messages through attached GSM modems. It exposes an HTTP API for pushing messages and handles queuing, throttling, and retrying across multiple devices.", "when_to_avoid": ["you need a cloud SMS provider like Twilio with global reach", "you need API authentication or multi-recipient sends, which are unimplemented", "you need an actively developed project - the last release was 2021"], "when_to_choose": ["you have a GSM modem and want a self-hosted SMS gateway with an HTTP API", "you need SMS in offline or low-cost environments", "you want simple queuing, throttling, and retry logic for SMS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gosms", "repo": "haxpax/gosms", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "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:04:48.900866+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:48.900866+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:56.387348+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d6ab170ea71576ef6b0049a065205b10721bd86c521a1e60cd91acae0f5c677", "fetched_at": "2026-08-28T04:04:48.900866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/haxpax/gosms"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4240, "days_push": 2035, "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}}