{"adoption": {"forks": 312, "observed_at": "2026-08-28T04:07:58.721749+00:00", "stars": 3385}, "canonical_url": "https://ross.abutalabs.com/products/konfetti", "card": {"archived": false, "artifact_type": "library", "description": "Celebrate more with this lightweight confetti particle system 🎊", "domain": ["mobile-development", "android-tools"], "enriched": true, "function": ["animation", "ui-components"], "health_score": 53, "homepage": null, "language": "Kotlin", "license": "ISC", "license_family": "permissive", "maturity": "active", "member_repos": ["DanielMartinus/Konfetti"], "name": "DanielMartinus/Konfetti", "platform": ["jvm"], "pushed_at": "2025-08-21T10:03:22+00:00", "repo": "DanielMartinus/Konfetti", "stars": 3385, "tags": ["confetti", "particle-system", "jetpack-compose", "canvas", "celebration-effects", "android"], "topics": ["android", "kotlin", "animations", "particles", "canvas", "party", "particle-system", "android-animation", "android-ui", "compose"], "urls": [], "use_cases": ["show confetti animation when user completes a task in an android app", "celebrate purchase success with particle effects in kotlin app", "add party confetti overlay to jetpack compose screen", "lightweight particle system for android ui", "render confetti on canvas in xml layout"], "what_it_is": "Konfetti is a lightweight Kotlin library for rendering confetti particle animations on Android, supporting both Jetpack Compose and XML-based views. It provides a configurable Party API for customizing particle emission, speed, and behavior.", "when_to_avoid": ["you need general-purpose 2D graphics or game particle engines", "your app targets platforms other than Android", "you need physics-based simulations beyond confetti effects"], "when_to_choose": ["you need celebratory confetti animations in an Android app", "you want both Compose and XML view support", "you want a simple API with sensible defaults and full customization"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/konfetti", "repo": "DanielMartinus/Konfetti", "role": "main", "score": 40}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "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:07:58.721749+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.721749+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:39:28.040926+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b5339d9e1a96a62269321a8a4271ddaba961447232f3ee88138134f9075ebeb", "fetched_at": "2026-08-28T04:07:58.721749+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielMartinus/Konfetti"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 38, "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": 3448, "days_push": 377, "days_rel": 643, "gap_med": null, "n_releases_24m": 1}, "score": 40, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}