The sky people see.
Checked against the forecast.

WorldWeathr records the weather where you stand — seven skies, how it feels, the exact temperature, as often as it changes — and scores every call against Open-Meteo's forecast for that hour.

Thursday 15 OctoberParis, FRHow's the sky?
How's the sky over Paris?
Feels like
FreezingColdCoolMildHot
Exact temperature--°CLog the sky nowPick a condition above to log.
Open-Meteo · hourlyParis09:00SunnyWMO 111:00Partly cloudyWMO 213:00CloudyWMO 315:00CloudyWMO 317:00RainyWMO 6119:00RainyWMO 63
Agreement with the forecast68%21 of 31 calls agreed
The app

Two screens. Every call scored.

Today is where the sky is logged; Stats is where every call meets the forecast. Each card plays a real piece of the app.

Sunny
Sunny
Seven skiesSunny to foggy, each with its own icon, and the whole screen repainted in the sky you pick.
65%17 of 26 calls agreedAgreement with the forecast
65%17 of 26 calls agreedAgreement with the forecast
Agreement with the forecastEach call set against the forecast for its hour, as a share of the calls that had one.
Feels freezing · -3°C
Feels like
FreezingColdCoolMildHot
Exact temperature-3°C
How it feelsFive feelings from freezing to hot, and the exact temperature to a tenth of a degree.
Today · 0 entriesNothing logged yet today.
As often as it changesLog the morning fog and the evening rain: each log keeps its own hour.
Current streak0daysIn a row, in any city. Today counts once you log it.
StreaksConsecutive days with a log. Today counts as soon as you log it.
Day by dayParis · last 30 daysAll30Agreed17Mixed3Differed7Not logged2
16 Sept15 Oct
Day by dayParis · last 30 days
16 Sept15 Oct
Thirty days at a glanceAgreed, mixed, differed or not logged — one cell a day, filtered in a tap.
You see more broken cloud than the forecast does.Your callForecastSunny8 / 7+1 vs forecastPartly cloudy9 / 4+5 vs forecastCloudy5 / 13-8 vs forecastRainy7 / 7evenStormy1 / 0+1 vs forecastFoggy2 / 1+1 vs forecast
Sunny8 / 7+1 vs forecastPartly cloudy9 / 4+5 vs forecastCloudy5 / 13-8 vs forecastRainy7 / 7even
Your calls vs the forecastHow often you saw each sky against how often it was forecast, and where the two part.
01 — Log

Log the sky as often as it changes

Pick one of seven skies and the whole screen repaints in it. Add how it feels and the exact temperature, then log it — morning, noon and night. Each log keeps its own hour, in the city's own time.

  • Seven skies, five feelings
  • The exact temperature to 0.1 °C
  • Every log of the day, listed by the hour
Friday 2 OctoberParis, FRHow's the sky?
How's the sky over Paris?
Feels like
FreezingColdCoolMildHot
Exact temperature--°CLog the sky nowPick a condition above to log.
Today · 0 entriesNothing logged yet today.
02 — Compare

Every call checked against its hour

Each log is set against the weather code Open-Meteo recorded for that hour in that city, and against the day's code when the hour is missing. A moment with no forecast is left out of every number, so the agreement stays honest.

  • The hour's forecast first, the day's after
  • WMO codes mapped to the seven skies
  • Moments with no forecast stay out of the figures
Your call · Wednesday 14 October · 11:30Partly cloudy
Open-Meteo · hourly11:00Looking up…
Open-Meteo · daily14 Oct—
03 — Read

Thirty days, read at a glance

The Stats screen puts your agreement with the forecast, your streak and every sky you have logged side by side. Thirty days sit in one heatmap, filtered in a tap, and the bars show which skies you see more often than the forecast does.

  • Agreed, mixed, differed, not logged
  • One shared scale for your calls and the forecast's
  • A headline written from the gaps
Agreement with the forecast0%0 of 32 calls agreed
Current streak18daysIn a row, in any city. Today counts once you log it.
All-time148skies loggedEvery call you have made, everywhere.
Day by dayAll30Agreed17Mixed3Differed7Not logged2
16 Sept15 Oct
15ThuSunnyvsSunnyAgreed14Wed11:30Partly cloudyvsCloudy17:10RainyvsRainy1 of 2 agreed
Preview

The whole app, live.

Today, where the sky is logged; Stats, where the month is read; and the way in.

Demo workspace · Paris
And the rest

Built for the long run.

Open-Meteo's forecast answers for the past 92 days; its archive fills everything older, back to a full year, and any day the forecast left empty. Where both answer, the forecast wins.

Each refresh stores the forecast as it was issued for the week ahead, so every day keeps the eight forecasts that led up to it — from seven days out to the day itself.

At 10:12 and 15:12 Paris time the forecast is refreshed for every active city within a ten-minute window, backing off from 2 to 30 seconds whenever Open-Meteo is busy.

A passphrase chosen at sign-up resets the password and signs out every session, so account recovery runs entirely inside the app. Both are hashed with bcrypt.

Security

Secure by default.
Observable in production.

Passwords and passphrases are hashed with bcrypt, every request carries its own id through structured ECS logs, and Prometheus metrics cover every route.

Sessions on RedisAn httpOnly cookie, a fresh session id at sign-in, one live session per account.
CSRF on every writeA per-session token, compared in constant time on every request that changes data.
A fresh CSP nonce per requestStrict-dynamic scripts, framing refused, HSTS for a year across subdomains.
Rate-limited sign-in10 sign-ins per 15 minutes per IP, 5 recoveries an hour per IP and per account.

Log the sky.
See how the forecast holds.

Seven skies, five feelings, every call scored against the hour's forecast.