Atmosphere: A Personal Weather App

Atmosphere is a personal weather app, a calm and ad-free take on the two features a weather site is actually for: a 10-day forecast (a current-conditions hero plus hourly trend charts) and an interactive precipitation radar (MapLibre over OpenStreetMap with RainViewer tiles). The signature is a dark glass UI over a sky-reactive backdrop that animates with the current conditions and the time of day, gated behind reduced-motion. It adds the conveniences of something you would open every morning: saved locations, a keyboard command palette, and sunrise and sunset times, plus a dynamic Open Graph share card and an installable PWA that falls back to your last forecast offline. The design constraint was keylessness: every data source (Open-Meteo forecast and geocoding, RainViewer radar) is public and needs no API key, so there is nothing to configure and no secret to leak.
What it proves
A polished, accessible front end on keyless public APIs: an interactive radar map, forecast charts, a sky-reactive animated UI, favorites and a command palette, and an installable PWA, with nothing to configure.
How it was built
Claude Code through a Requirements, Orchestrate, Check, Review loop from a PRD and task board: logic tested first, adversarially reviewed on every merge, with a unit and Playwright suite in CI and data from keyless public APIs (Open-Meteo, RainViewer).
What is real, and where I was learning
What is real: the forecast, geocoding, animated radar, favorites, and offline fallback all run live off keyless public APIs, with a unit and Playwright suite green in CI. It began as an ad-free reproduction of Weather Underground's two best features, then was reframed as a personal weather app. The scope stays deliberately those two features, done well.