Repo of the Day
breezy-weather/breezy-weather
Published: Oct 11, 2026
Open repository ↗A feature-rich weather app with good visualizations and more than 50 sources
Summary
Breezy Weather is an open-source Android weather application written in Kotlin with Jetpack Compose and Material 3 Expressive, wrapping more than 50 weather data sources behind a single UI. It is released under LGPL-3.0, built through GitHub Actions, and offers hooks so external apps can read its normalized weather model.
What it is useful for
The repository is useful in two roles: an Android reference project and a small data-integration component.
As a reference, it shows how to build a non-trivial Compose app at API 21+ with Material 3 Expressive blocks, detailed 24-hour charts, widgets, live wallpaper, and accessibility-aware localization (number formatting, alternate calendars, and screen-reader content descriptions). Its source-pluggable architecture lets one swap providers without touching the UI, which is a useful pattern in itself; the curated, documented list in docs/SOURCES.md doubles as a comparison of keyless FOSS APIs (e.g., Open-Meteo) against commercial ones.
As an integration point, v6.1.0 introduced an experimental ContentProvider exposing the full weather model, and a Gadgetbridge-style intent action (nodomain.freeyourgadget.gadgetbridge.ACTION_GENERIC_WEATHER) is available via Settings > Widgets & Live Wallpaper > Data sharing. Forks and re-skins are explicitly supported: the README lists the required rename steps (drop the breezy build flag, replace names in res_fork/values/strings.xml, swap icons under res_fork/, and change applicationId in app/build.gradle.kts).
How engineers can use it
To evaluate the app, download a signed APK from the GitHub Releases page, the F-Droid default repo, or the IzzyOnDroid repo, or sideload it via Obtainium — the signing certificate SHA-256 (29d435f7…) is published in the README for verification, and per-file SHA-256 checksums are listed on each release.
To build it, point Android Studio at the repo; the README does not include a CLI build recipe in the supplied excerpt, so developers should consult CONTRIBUTING.md and the standard Android build flow. To add a new weather source, the contribution guide documents the steps required to plug a new provider into the existing data layer.
Documented limitations to be aware of before depending on the project: the ContentProvider API is described as experimental and seeking feedback, the background refresh cadence cannot be configured below 30 minutes, paid-only or privacy-heavy sources will not be added, and the app is intentionally not published on Google Play.