{"adoption": {"forks": 395, "observed_at": "2026-08-28T04:10:46.378088+00:00", "stars": 11201}, "canonical_url": "https://ross.abutalabs.com/products/breezy-weather", "card": {"archived": false, "artifact_type": "application", "description": "A feature-rich weather app with good visualizations and more than 50 sources.", "domain": ["weather", "android-tools", "cross-platform"], "enriched": true, "function": ["data-visualization", "gui"], "health_score": 100, "homepage": null, "language": "Kotlin", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["breezy-weather/breezy-weather"], "name": "breezy-weather/breezy-weather", "platform": ["jvm"], "pushed_at": "2026-08-26T23:05:01+00:00", "repo": "breezy-weather/breezy-weather", "stars": 11201, "tags": ["weather-app", "material-design-3", "jetpack-compose", "open-source", "f-droid", "weather-sources", "air-quality", "pollen", "weather-alerts", "nowcasting", "android"], "topics": [], "urls": [], "use_cases": ["check weather forecasts on android", "get severe weather alerts on my phone", "track air quality and pollen levels", "compare multiple weather data sources", "find an open source weather app without ads", "view radar and nowcasting visualizations"], "what_it_is": "Breezy Weather is a free and open source Android weather app built with Kotlin and Jetpack Compose following Material 3 Expressive design. It aggregates forecasts, observations, nowcasting, air quality, pollen, and alerts from more than 50 weather data sources.", "when_to_avoid": ["you need an iOS or desktop weather app", "you want a minimal app with only a single data source", "you require widget-heavy or smartwatch-first experiences"], "when_to_choose": ["you want a privacy-respecting, ad-free open source weather app on Android", "you need data from many weather providers with rich visualizations", "you prefer F-Droid or self-managed APK installs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/breezy-weather", "repo": "breezy-weather/breezy-weather", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "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:10:46.378088+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.378088+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:16:27.811318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8bff2b3d3a92399da8ce027f41e4d7f081114d4ede223f8297e5ad239ddb3c51", "fetched_at": "2026-08-28T04:10:46.378088+00:00", "kind": "readme", "missing": false, "url": "https://github.com/breezy-weather/breezy-weather"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 99}, "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": 1600, "days_push": 7, "days_rel": 10, "gap_med": 20, "n_releases_24m": 22}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}