{"adoption": {"forks": 195, "observed_at": "2026-08-28T04:06:14.260758+00:00", "stars": 2110}, "canonical_url": "https://ross.abutalabs.com/products/colorful", "card": {"archived": true, "artifact_type": "library", "description": "Android runtime theme library", "domain": ["mobile-development", "android-tools", "web-design"], "enriched": true, "function": ["ui-components", "theme"], "health_score": 10, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["garretyoder/Colorful"], "name": "garretyoder/Colorful", "platform": [], "pushed_at": "2023-10-10T15:44:56+00:00", "repo": "garretyoder/Colorful", "stars": 2110, "tags": ["android-theming", "runtime-themes", "kotlin", "material-design", "dark-mode", "discontinued", "android"], "topics": ["android", "runtime", "themes", "theme"], "urls": [], "use_cases": ["let users switch app color themes at runtime", "add a dark mode toggle to an Android app", "change primary and accent colors without restarting the activity", "apply Material Design color schemes dynamically", "persist user theme preferences in an Android app"], "what_it_is": "Colorful is a Kotlin library for Android that enables dynamic runtime theming, letting apps change their color schemes (primary, accent, dark mode) without restarting. It provides themed Activity base classes and integrates via JitPack.", "when_to_avoid": ["starting a new Android project — the library is discontinued", "targeting Android 12+ where Material You dynamic color is built in", "you need extensive theming beyond color schemes"], "when_to_choose": ["maintaining a legacy Android app that already uses Colorful", "supporting older Android versions without native dynamic color", "you need simple runtime color scheme switching on pre-Android 12 devices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/colorful", "repo": "garretyoder/Colorful", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "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:06:14.260758+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:14.260758+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:53:44.990678+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "890fa6b958df64ca2394a15826252fc2bc65a3dcc462bafc53a37df3212d1253", "fetched_at": "2026-08-28T04:06:14.260758+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garretyoder/Colorful"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3620, "days_push": 1058, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}