{"adoption": {"forks": 204, "observed_at": "2026-08-28T04:08:15.465235+00:00", "stars": 3720}, "canonical_url": "https://ross.abutalabs.com/products/icepick", "card": {"archived": false, "artifact_type": "library", "description": "Android Instance State made easy", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["serialization", "plugin-system"], "health_score": 20, "homepage": null, "language": "Clojure", "license": "EPL-1.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["frankiesardo/icepick"], "name": "frankiesardo/icepick", "platform": ["jvm"], "pushed_at": "2021-05-26T07:01:41+00:00", "repo": "frankiesardo/icepick", "stars": 3720, "tags": ["android", "instance-state", "annotation-processing", "bundle", "state-management", "boilerplate-elimination", "mobile"], "topics": [], "urls": [], "use_cases": ["save and restore Android activity state without boilerplate", "automatically persist fragment fields across configuration changes", "generate instance state code for custom views", "serialize custom types into Android bundles", "reduce onSaveInstanceState boilerplate in Android apps"], "what_it_is": "Icepick is an Android library that eliminates boilerplate for saving and restoring instance state using annotation processing. Fields annotated with @State are automatically serialized to and restored from Bundles in Activities, Fragments, and custom Views.", "when_to_avoid": ["you are starting a new Android project - use ViewModel with SavedStateHandle instead", "your project uses Kotlin - @Parcelize or SavedStateHandle are better supported", "you need actively maintained dependencies - the library has not been updated since 2021"], "when_to_choose": ["you maintain a legacy Android Java project that still relies on Bundle-based instance state", "you want annotation-processed state persistence for Activities, Fragments, or custom Views", "you need custom serialization hooks via the Bundler interface"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/icepick", "repo": "frankiesardo/icepick", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "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:08:15.465235+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:15.465235+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:29:20.249648+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7154c5ed3c18be793d2f460474be7829a605c975f196c9c2e28a5a2477f50917", "fetched_at": "2026-08-28T04:08:15.465235+00:00", "kind": "readme", "missing": false, "url": "https://github.com/frankiesardo/icepick"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 4799, "days_push": 1925, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}