ON YOUR HOME SCREEN

Singapore PSI
widget options.

A widget can show your region’s PSI, PM2.5 and source times. Adding the website to your home screen gives you a quick-launch icon instead.

Colour, emoji and a clear label

The widget uses the 24-hour PSI category for its colour. It shows the number and label together, so colour is never the only clue.

🌿 Good0–50 PSI

🌤️ Moderate51–100 PSI

😷 Unhealthy101–200 PSI

😷 Very unhealthy201–300 PSI

🏠 HazardousAbove 300 PSI

⚠️ Delayed or unavailableCheck the source times

These emoji are visual cues. For outdoor plans, use the PM2.5 personal guide and PSI forecast health advisory. A mask does not remove every risk. The widget’s 24-hour PSI is a measured reading, not tomorrow’s forecast.

A compact browser widget

Open a small, focused view with regional PSI, PM2.5, emoji, colours and source times. On a computer, keep it in a small browser window; on a phone, open the same compact page.

Open compact Haze widget ↗

The browser tab’s favicon shows the selected region’s PSI while the page is open. Its colour follows the PSI category; delayed or unavailable data uses a neutral icon. Browser refreshes can pause in the background. This does not change the installed home-screen icon or create a native Android widget.

iPhone: a Scriptable widget

Experimental companion script. Logic-tested, with installation on a physical iPhone still to be checked.

  1. Install Scriptable on your iPhone.
  2. or download the script.
  3. In Scriptable, create a script named Haze, paste the code and run it. Choose your region, or use your location once to choose the nearest reporting centre.
  4. Touch and hold your home screen, choose Edit → Add Widget (or the + button), search for Scriptable and add a small or medium widget.
  5. Edit the widget and choose the Haze script. To keep separate widgets for different regions, set the widget’s Parameter to north, south, east, west or central.

View the script
Open this section to load the script.

Small and medium home-screen layouts show both readings. On iOS 16 or later, the script also provides inline, circular and rectangular Lock Screen layouts. The circular layout focuses on PSI. Lock Screen colour and tint are controlled by iOS, so the number, emoji and source time remain the main cues. These layouts have not been checked on physical devices. See Scriptable’s supported widget families.

The region is configured separately from this website. Location is used only when you run the script and choose that option; it is not continuously tracked. Coordinates are processed on the phone and never sent to Haze. A local cache preserves original source times when a fetch fails, and the widget marks cached or delayed data.

The script requests another update after 15 minutes. iOS decides the actual refresh time, so updates may be later. Tap the widget to open Haze and check current readings. See Scriptable’s refresh documentation and Apple’s widget refresh guidance.

Android: a native widget needs an app

Android supports home-screen widgets through an installed app. The Haze website alone cannot install an Android App Widget. An Android companion app would need to provide it; there is no Haze APK available here yet.

A companion widget can show the same regional number, emoji, colour and timestamp, with a tap to open Haze. Android’s standard periodic widget updates are no more frequent than every 30 minutes, and the system may delay them. A tap-to-refresh action can provide a manual update. See Android’s App Widget documentation and update limits.

Can the app icon show the PSI?

The installed web-app icon is a static image. The browser tab favicon is a separate icon that Haze can update while the page is open. A small notification-style number badge is possible on some systems, but it is separate from the icon artwork and does not make the reading continuously fresh.

The compact view and main dashboard can update the browser tab’s favicon while open. The installed home-screen artwork stays static. On iPhone, web-app badges require notification permission. Background updates need a push setup, with platform rules on visible notifications. Haze does not currently request those permissions or send push notifications. A dated widget is the clearer option for air readings. See WebKit’s badge guidance.

← Back to air readings