{"adoption": {"forks": 113, "observed_at": "2026-08-28T04:04:49.831587+00:00", "stars": 1475}, "canonical_url": "https://ross.abutalabs.com/products/animatedbottombar", "card": {"archived": false, "artifact_type": "library", "description": "A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges.", "domain": ["mobile-development", "android-tools", "frontend"], "enriched": true, "function": ["ui-components", "animation", "routing"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["Droppers/AnimatedBottomBar"], "name": "Droppers/AnimatedBottomBar", "platform": [], "pushed_at": "2023-02-18T17:36:50+00:00", "repo": "Droppers/AnimatedBottomBar", "stars": 1475, "tags": ["kotlin", "bottom-navigation", "viewpager", "navigation-component", "badges", "android-ui", "android", "mobile"], "topics": ["kotlin", "android", "android-library", "android-ui", "java", "customizable", "navigation", "bottomnavigationview", "viewpager", "badges", "bottombar", "navcontroller", "navigationcomponent", "navigationbar", "sleek-animations", "animations", "viewpager2", "bottom-navigation", "android-bottom-navigation", "android-tabs"], "urls": [], "use_cases": ["add an animated bottom navigation bar to an Android app", "sync bottom bar tabs with ViewPager2 pages", "connect bottom navigation to Jetpack Navigation controller", "show notification badges on bottom bar tabs", "customize bottom bar indicator colors and animations", "replace the default BottomNavigationView with a more animated one"], "what_it_is": "AnimatedBottomBar is a customizable Android bottom navigation bar library with sleek tab selection animations. It integrates with ViewPager, ViewPager2, Navigation Controller, and supports badges.", "when_to_avoid": ["you need Material Design compliance or the latest Material 3 navigation bar behavior", "you target platforms other than Android", "you need a library with frequent updates and active maintenance"], "when_to_choose": ["you want a polished, animated bottom bar on Android with minimal setup", "you need ViewPager, ViewPager2, or NavController integration out of the box", "you want XML-configurable tabs with badge support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/animatedbottombar", "repo": "Droppers/AnimatedBottomBar", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "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:04:49.831587+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:49.831587+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:29.458344+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1cea99728f4604af2b8584e7d162dcde68287e9c739594e0ba8ee9450781e8c1", "fetched_at": "2026-08-28T04:04:49.831587+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Droppers/AnimatedBottomBar"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 2378, "days_push": 1292, "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}}