{"adoption": {"forks": 11019, "observed_at": "2026-08-28T04:05:22.618574+00:00", "stars": 1691}, "canonical_url": "https://ross.abutalabs.com/products/dont-kill-my-app", "card": {"archived": false, "artifact_type": "application", "description": "Android vendors, don't kill my app!", "domain": ["android-tools", "developer-tools", "mobile-development", "documentation"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 72, "homepage": null, "language": "JavaScript", "license": "CC-BY-4.0", "license_family": "other", "maturity": "active", "member_repos": ["urbandroid-team/dont-kill-my-app"], "name": "urbandroid-team/dont-kill-my-app", "platform": ["cross-platform"], "pushed_at": "2026-06-09T11:25:18+00:00", "repo": "urbandroid-team/dont-kill-my-app", "stars": 1691, "tags": ["android-vendors", "battery-optimization", "task-killers", "dontkillmyapp", "-api", "jekyll-site", "community-resource", "android", "web-server"], "topics": ["android", "vendors", "dontkillmyapp"], "urls": [], "use_cases": ["find out why my android app gets killed in the background on xiaomi", "get vendor-specific battery optimization workarounds for my app users", "query a  api for android manufacturer background-kill info", "show in-app instructions to disable battery optimization per device vendor", "contribute documentation for a new android manufacturer's app-killing behavior", "check which vendors have the worst background app killing record"], "what_it_is": "dontkillmyapp.com is a community-maintained website documenting how Android device manufacturers (Nokia, Xiaomi, Samsung, etc.) aggressively kill background apps, with user and developer workarounds per vendor. The repo contains the site source and exposes public JSON APIs (v1 all-vendors, v2 per-vendor) for programmatic access.", "when_to_avoid": ["you need a code library or SDK to fix background killing programmatically - this is informational content only", "you need stock Android (AOSP) documentation rather than vendor-specific quirks"], "when_to_choose": ["you build an Android app affected by aggressive vendor battery/task managers and need per-vendor guidance", "you want to programmatically surface vendor workarounds in your app via the JSON API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dont-kill-my-app", "repo": "urbandroid-team/dont-kill-my-app", "role": "main", "score": 71}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "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:05:22.618574+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.618574+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.200764+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "716e091c0559960a1def7c0364d7ab34ea91e68d671fd32283b022112af6fab0", "fetched_at": "2026-08-28T04:05:22.618574+00:00", "kind": "readme", "missing": false, "url": "https://github.com/urbandroid-team/dont-kill-my-app"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "longevity": 100, "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": 2814, "days_push": 85, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 71, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}