{"adoption": {"forks": 318, "observed_at": "2026-08-28T04:03:51.819841+00:00", "stars": 1173}, "canonical_url": "https://ross.abutalabs.com/products/movecar", "card": {"archived": false, "artifact_type": "application", "description": "🚗 智能挪车通知系统 - 基于 Cloudflare Workers，支持实时位置共享和多推送服务", "domain": ["self-hosted", "privacy", "web-development", "developer-tools"], "enriched": true, "function": ["webhook", "http-server", "geospatial"], "health_score": 56, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["lesnolie/movecar"], "name": "lesnolie/movecar", "platform": ["cloud", "serverless", "self-hosted"], "pushed_at": "2025-12-31T04:32:03+00:00", "repo": "lesnolie/movecar", "stars": 1173, "tags": ["cloudflare-workers", "qr-code", "car-notification", "bark-push", "privacy-protection", "kv-storage", "location-sharing", "notification", "web-server"], "topics": [], "urls": [], "use_cases": ["notify a car owner blocking my way without knowing their phone number", "create a privacy-safe QR code move-car plate", "replace traditional phone-number car contact cards", "verify a move-car requester's location before responding", "deploy a serverless notification service for free on Cloudflare"], "what_it_is": "A smart car-blocking notification system built on Cloudflare Workers that lets people scan a QR code on a parked car to notify the owner via push notification without exposing phone numbers. It supports optional two-way real-time location sharing so owners can verify the requester is actually at the car.", "when_to_avoid": ["you need SMS or phone-call based contact instead of app push notifications", "you can't use Cloudflare Workers or KV storage", "you need a solution that works without the requester having internet access"], "when_to_choose": ["you want a free, zero-maintenance serverless deployment on Cloudflare Workers", "privacy matters and you don't want your phone number printed on the car", "you use iOS with Bark push notifications (or an Android push service)", "you want anti-harassment features like location verification and delayed sending"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/movecar", "repo": "lesnolie/movecar", "role": "main", "score": 43}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "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:51.819841+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:51.819841+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:28:23.556721+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "daa20fa0edb5409d2e32466edf13ea8ed6bf4182039bed2676b0d4bafd6cb1dd", "fetched_at": "2026-08-28T04:03:51.819841+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lesnolie/movecar"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 60, "longevity": 18, "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": 265, "days_push": 245, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 43, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}