Files
NoGooleApps/replica/wetter/recon.md
T
2026-10-17 14:56:22 +02:00

8.6 KiB

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).