{"adoption": {"forks": 151, "observed_at": "2026-08-28T04:05:37.693287+00:00", "stars": 1798}, "canonical_url": "https://ross.abutalabs.com/products/rosie", "card": {"archived": true, "artifact_type": "framework", "description": "Rosie is an Android framework to create applications following the principles of Clean Architecture.", "domain": ["mobile-development", "android-tools", "web-development"], "enriched": true, "function": ["mobile-framework", "state-management", "middleware"], "health_score": 10, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "abandoned", "member_repos": ["Karumi/Rosie"], "name": "Karumi/Rosie", "platform": ["jvm"], "pushed_at": "2019-09-17T14:29:29+00:00", "repo": "Karumi/Rosie", "stars": 1798, "tags": ["clean-architecture", "mvp", "repository-pattern", "dependency-injection", "dagger", "use-cases", "android"], "topics": [], "urls": [], "use_cases": ["structure an android app with clean architecture", "implement mvp pattern on android", "separate view domain and repository layers", "run use cases on background threads", "wire dagger dependency injection in android apps", "build repository pattern data sources with caching"], "what_it_is": "Rosie is an Android framework for building applications following Clean Architecture principles, dividing apps into view, domain, and repository layers. It provides base classes for MVP presentation, background-threaded use cases, repository/data-source abstractions, and Dagger-based dependency injection.", "when_to_avoid": ["building apps in Kotlin with modern Android architecture components like ViewModel and Flow", "you need an actively maintained library with recent updates", "your project uses Jetpack Compose instead of Activities and Fragments"], "when_to_choose": ["starting a new Java-based Android app that should follow Clean Architecture", "you want opinionated base classes for MVP, use cases, and repositories", "your team already uses Dagger for dependency injection"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rosie", "repo": "Karumi/Rosie", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "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:37.693287+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:37.693287+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:22:18.880377+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f847b95834fb37be45bcb20407b2f6af5864be72edc30fad68efae5eb2b76c26", "fetched_at": "2026-08-28T04:05:37.693287+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Karumi/Rosie"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3939, "days_push": 2542, "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}}