Official, not guessed
24-hour PSI, 1-hour PM2.5, rainfall, humidity, UV and NEA’s own four-day outlook, straight from data.gov.sg.
Singapore · NEA official · worldwide
NEA’s 24-hour PSI, PM2.5 and live rain radar for Singapore. Anywhere else, WAQI stations and the Open-Meteo model — every number labelled with its source, never mixed.
The headline is a real reading — a WAQI station in Singapore, or the official NEA feed. NEA’s PSI sits beside it as an independent reference. You always see which is which.
24-hour PSI, 1-hour PM2.5, rainfall, humidity, UV and NEA’s own four-day outlook, straight from data.gov.sg.
Scrub the last 24 hours frame by frame, from the same NEA radar the weather services use. The latest frame is always on the map.
The nearest WAQI station’s US AQI next to NEA’s PSI reference: two sources, two scales, never blended into one number.
Outside Singapore the app falls back to the nearest WAQI station, then the Open-Meteo model — with the same source badges and the same alerts.





Yes — free, no account, no ads. It is a personal project by CS Tee.
Singapore’s official PSI and station readings come from NEA / data.gov.sg. Live monitoring stations come from WAQI; forecasts, the model and the 48-hour pollutant history come from Open-Meteo. Every number carries its source and scale.
Because they measure different things. A WAQI station reports a US AQI for its own location; NEA publishes an official 24-hour PSI for each of its five regions; the Open-Meteo model gives a grid estimate. The app shows them separately and never blends them.
Yes. NEA data is Singapore-only, so abroad the app uses the nearest WAQI station and, where stations are sparse, the Open-Meteo model. The source badge tells you which one produced the number.
They are local notifications, so there is no server involved. Haze alerts fire once when the reading crosses your threshold; rain forecast alerts are scheduled in advance and still fire when the app is suspended. Background checks are requested at your auto-refresh interval, but iOS decides if and when they actually run — they pause in Low Power Mode and stop if you swipe the app away.
It is used on the device to centre the reading — and, if you allow “Always”, to notice when you travel and re-point the alerts. It is never sent to us; there is no account and no backend.