{"adoption": {"forks": 204, "observed_at": "2026-08-28T04:05:27.708345+00:00", "stars": 1721}, "canonical_url": "https://ross.abutalabs.com/products/android-infinitecards", "card": {"archived": false, "artifact_type": "library", "description": "An infinite card switching UI for Android, support custom animation    自定义实现神奇动效的卡片切换视图", "domain": ["mobile-development", "android-tools", "web-development"], "enriched": true, "function": ["animation", "ui-components"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["BakerJQ/Android-InfiniteCards"], "name": "BakerJQ/Android-InfiniteCards", "platform": [], "pushed_at": "2020-12-11T07:58:41+00:00", "repo": "BakerJQ/Android-InfiniteCards", "stars": 1721, "tags": ["card-view", "card-switching", "custom-animations", "android-ui", "java", "android", "mobile"], "topics": ["android-card", "android-card-animation", "card", "animation", "android", "android-card-view", "cardview"], "urls": [], "use_cases": ["build a card stack UI like Tinder-style swiping decks", "create an infinite card carousel with custom animations", "implement card switching where the selected card moves to front", "animate cards moving between front and back positions", "customize card scale, rotation, and z-index animations on Android"], "what_it_is": "An Android UI library providing an infinite card switching view with customizable animations. It supports multiple animation types and lets developers define custom transformers and interpolators for card transitions.", "when_to_avoid": ["you are building with Flutter or Compose rather than Android View-based Java/XML", "you need actively maintained software with recent updates", "you need a general-purpose RecyclerView layout manager rather than a specialized card view"], "when_to_choose": ["you need a ready-made animated card switching view in a native Android app", "you want fine-grained control over card animation transformers and interpolators", "you prefer a simple adapter-based API integrated via Gradle/JitPack"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/android-infinitecards", "repo": "BakerJQ/Android-InfiniteCards", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "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:27.708345+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:27.708345+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:00.725835+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9fbc1b89ace40dda8026370cad64dac9e5d77d9dfdd7b9e874a8a15ef488d3d8", "fetched_at": "2026-08-28T04:05:27.708345+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BakerJQ/Android-InfiniteCards"}], "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": 3456, "days_push": 2091, "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}}