# Recon map: Google Weather / Pixel Weather (Android) Scope: the whole app: home forecast, detail cards, locations, settings, precipitation map, alerts, notifications, widget, AI brief For: personal use, a weather app without Google services (project NoGooleApps) Date: 2026-10-17 ## Sources | # | source | URL | notes | | --- | --- | --- | --- | | 1 | app store listing | https://play.google.com/store/apps/details?id=com.google.android.apps.weather | page did not load via fetch; no screenshots saved | | 2 | help center | https://support.google.com/googlepixeltablet/answer/15266029?hl=en-GB | most complete feature/settings list | | 3 | review | https://9to5google.com/2024/10/30/pixel-weather-rolling-out/ | cards, reorder, per-city layout, notifications | | 4 | review | https://9to5google.com/2024/05/23/new-google-weather-android/ | redesign, NowCast | | 5 | news | https://9to5google.com/2025/01/30/pixel-weather-units-of-measurement-update/ | units settings | | 6 | news | https://www.notebookcheck.net/Google-is-quietly-killing-Android-s-weather-app-experience.1231441.0.html | 2026: non-Pixel weather redirected to Search | | 7 | news | https://www.techradar.com/phones/google-pixel-phones/the-pixel-9s-amazing-new-weather-app-is-now-heading-to-older-pixels | AI report on Pixel 9 | | 8 | news | https://9to5google.com/2021/05/17/pixel-launcher-weather-alerts/ | alert wording (type + issuing agency) | | 9 | screenshots | replica/screens/ref-01..04.png | supplied by user (Android Authority / connect montages): hero, cards, day view, nowcast, light+dark. Reference only, never shipped | ## Core loop Open the app and see at a glance what the weather is now, in the next hours and in the coming days for your location, plus whether something severe is coming. ## Screens | ID | screen | route / how to reach | purpose | key components | states seen | | --- | --- | --- | --- | --- | --- | | S01 | Home / city forecast | app launch | current weather + all cards for one city | hero, alert banner, brief, nowcast card, hourly strip, 10-day capsules, shaped detail cards, animated background | loading, filled, alert active, no location permission, offline (guess) | | S02 | Saved locations | top-left / back from S01 | switch, add, delete cities | current-location row, city rows with temp/condition, search field, swipe-to-delete | only current, many, permission denied | | S03 | Location search | search on S02 | find a city | search input, result list, Add button | empty, results, no results | | S04 | Day detail | tap a day capsule in 10-day | one day: range, hourly, cards | capsule picker (selected), day-range, hourly strip, detail cards | filled (ref-01) | | S15 | Location preview | tap a search result | full forecast before saving | hero, cards, Save button | unsaved (ref-02) | | S05 | Card detail | tap a card (guess) | expanded metric (e.g. AQI, pollen, UV) | chart, explanation text | filled (guess) | | S06 | Weather map | map card on S01 | 6h precipitation nowcast | map, precip overlay, timeline scrubber, play | filled, region unavailable | | S07 | Profile menu | avatar top-right | entry to settings, theme | menu list | | | S08 | Settings | S07 -> Weather settings | units, vibrations, AI brief, notifications | radio lists, toggles | | | S09 | Units | S08 -> Temperature / Weather units | change units | radio groups | | | S10 | Rearrange mode | long-press a card on S01 | reorder cards | drag handles, drop placeholder | dragging | | S11 | Alert detail | tap alert banner | full warning text, agency, validity | text, source link | | | S12 | Homescreen widget | launcher | glance view | temp, icon, high/low, location | sizes | | S13 | Notifications | system | rain soon, tomorrow forecast, severe | notification | | | S14 | Onboarding / permissions | first launch (guess) | ask location + notifications | permission prompts | granted, denied | ## Flows ``` F01 Check weather at current location S14 (first time) -> S01 happy path clicks: 0 edge: location denied, GPS off, offline with cached data, stale data F02 Add a city S01 -> S02 -> S03 -> S15 preview -> Save -> S01 (new city) happy path clicks: 4 (open list, tap search, type, tap result/Add) edge: ambiguous names, postal code, no results, duplicate city F03 Delete a city S02 swipe left happy path clicks: 1 swipe edge: undo, deleting the current-location row (not allowed) F04 Switch between cities S01 -> S02 -> tap city (or swipe pager on S01, guess) happy path clicks: 2 F05 Watch rain coming in S01 -> map card -> S06 -> scrub / play happy path clicks: 2 edge: region without nowcast, tiles fail to load F06 Change units S01 -> S07 -> S08 -> S09 -> pick happy path clicks: 4 F07 Reorder cards S01 long-press -> S10 drag -> drop edge: cannot move above brief/hourly, layout per city F08 React to a severe warning S13 notification -> S01 alert banner -> S11 happy path clicks: 2 edge: multiple alerts, expired alert, AI brief hidden while alert active F09 Enable rain notifications S08 -> notifications toggle -> per-city toggle edge: notification permission denied, battery optimisation kills worker ``` ## Components | component | variants | states | used on | | --- | --- | --- | --- | | Hero block | city name, big temp, condition, feels-like, H/L | loading, stale | S01 | | Alert banner | minor, moderate, severe, extreme | collapsed, expanded | S01, S11 | | Brief card | text summary | loading, hidden (alert) | S01 | | Hourly strip | temp + icon + precip % per hour | scroll | S01, S04 | | Day row | icon, precip %, low-high bar | pressed | S01 | | Metric card | small square, wide | default, dragging, pressed | S01, S10 | | Gauge / dial | UV, AQI, pressure, wind compass | | metric cards | | Sun arc | sunrise/sunset arc | day, night | sunrise card | | City row | current location, saved | swiping, pressed | S02 | | Search field | | empty, typing, results | S03 | | Map + scrubber | | playing, paused, loading tiles | S06 | | Settings rows | radio, toggle, link | disabled | S08, S09 | | Animated background | per condition, day/night | reduced motion | S01 | | Top app bar | with avatar/menu | | S01, S02 | | Widget | small, medium | | S12 | ## Inferred data model ``` Location id, name, admin_area, country, lat, lon, timezone, is_current, sort_order evidence: S02, S03, help "Add a location" confidence: high CardLayout location_id, card_type, position evidence: 9to5google "customisations unique per city" confidence: high Forecast location_id, fetched_at, current{temp, feels_like, code, humidity, wind_speed, wind_dir, gusts, pressure, visibility, uv, dew_point, is_day}, hourly[], daily[]{date, code, t_min, t_max, precip_prob, precip_sum, sunrise, sunset, uv_max} evidence: S01 cards confidence: high (cache, not user data) AirQuality location_id, aqi, pm2_5, pm10, o3, no2, pollen{grass, birch, ...} evidence: AQI/pollen cards confidence: high Alert id, location_id, event, severity, headline, description, agency, onset, expires evidence: help + alert banner, At a Glance two-line alert confidence: medium Settings temp_unit, precip_unit, wind_unit, pressure_unit, visibility_unit, theme, vibrations, brief_enabled, notif_tomorrow, notif_severe evidence: S08, S09 confidence: high NotificationPref location_id, rain_alerts confidence: medium ``` Relationships: Location 1-n CardLayout, Location 1-1 Forecast (cached), Location 1-1 AirQuality, Location 1-n Alert, Location 1-1 NotificationPref. No user accounts needed (local only). ## Feature matrix See `features.csv`. Must: 18, should: 14, could: 7, skip: 4 (design + widgets raised to must). ## Out of scope (cannot or should not be cloned) - Google's own forecast and nowcasting models (MetNet / NowCast): proprietary. Replace with Open-Meteo (forecast, AQI, pollen, geocoding), DWD / MeteoAlarm (alerts), RainViewer or DWD radar (map). - Gemini-based Weather Brief and personal insights from Calendar/Gmail: Google AI and Google data. A rule- or template-based summary is the replacement, or optionally a local LLM. - Location sync via Google account: deliberately left out. - At a Glance / Pixel launcher integration: a system feature. - Google's illustrations, icons, animations and the "Froggy" art: original assets have to be made from scratch. ## Size Screens 15, flows 9, entities 7. Hard parts: (1) the precipitation map with timeline (tile sources, licences, animation), (2) reliable background notifications/alerts without Play Services (WorkManager, Doze), (3) polished animated backgrounds + homescreen widget. Size: M (a few weeks) for a native Android app (Kotlin/Compose).