{"adoption": {"forks": 592, "observed_at": "2026-08-28T04:09:09.351367+00:00", "stars": 5070}, "canonical_url": "https://ross.abutalabs.com/products/booster", "card": {"archived": false, "artifact_type": "framework", "description": "🚀Optimizer for mobile applications", "domain": ["mobile-development", "android-tools", "developer-tools", "performance"], "enriched": true, "function": ["build-tool", "linter", "developer-tools", "plugin-system"], "health_score": 90, "homepage": "https://booster.johnsonlee.io", "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["didi/booster"], "name": "didi/booster", "platform": ["jvm"], "pushed_at": "2026-08-09T00:58:12+00:00", "repo": "didi/booster", "stars": 5070, "tags": ["gradle-plugin", "bytecode-manipulation", "app-optimization", "package-size-reduction", "android", "gradle"], "topics": ["optimizer", "android", "gradle-plugin", "bytecode-manipulation", "static-analysis"], "urls": [], "use_cases": ["detect performance issues like blocking I/O on the UI thread", "reduce APK package size by inlining resource indexes and compressing resources", "fix thread management problems causing OOM from too many threads", "globally patch system bugs like the Android API 25 Toast crash", "optimize app stability without modifying business code"], "what_it_is": "Booster is a lightweight, extensible quality optimization toolkit for mobile applications built as a Gradle plugin. It uses bytecode manipulation and static analysis to detect performance issues, optimize threading, fix system bugs, and reduce APK package size.", "when_to_avoid": ["your project does not use the Android Gradle Plugin", "you need runtime (not build-time) optimization", "you target platforms other than Android", "your build environment cannot meet the minimum Gradle/AGP/Kotlin version requirements"], "when_to_choose": ["you build Android apps with Gradle and want non-intrusive build-time optimization", "you need to reduce APK size or improve stability metrics", "you want to detect or fix threading and performance issues across third-party SDKs", "you need an extensible SPI-based plugin architecture for custom bytecode transforms"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/booster", "repo": "didi/booster", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "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:09.351367+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:09.351367+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:02:48.974601+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3a085352ada18b59deae4f686bc266cd58775a7d389e58662dbcb83bd3a88193", "fetched_at": "2026-08-28T04:09:09.351367+00:00", "kind": "readme", "missing": false, "url": "https://github.com/didi/booster"}, {"content_hash": "d71ec9ea423a9c2d6f86510fa5f0a4f580e0a648955661cd8653ec533485a376", "fetched_at": "2026-08-29T08:57:39.785016+00:00", "kind": "homepage", "missing": false, "url": "https://booster.johnsonlee.io"}, {"content_hash": "56fbcd83610023135a32454afdfea87c11028c2300b4d50dfa6b1f4ba58c0ca1", "fetched_at": "2026-08-29T08:57:39.787554+00:00", "kind": "site_page", "missing": false, "url": "https://booster.johnsonlee.io/en/faq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2689, "days_push": 25, "days_rel": 508, "gap_med": null, "n_releases_24m": 1}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}