Bad air in Thailand isn't an event, it's a season, roughly 1 December to 30 April. So when does it break? AirDash's signature feature, Rain-Washout, treats a forecast rain event as a forecast dust-relief event, labelled as a heuristic, never as a promise. Plus two corners: AI terms (agent checks agent) and stack terms (API endpoints and curl).
AirDash Rain-Washout (https://air.nonarkara.org · code https://github.com/Nonarkara/airdash) at a glance:
• What it is and who it is for: the signature feature of AirDash, a public-interest PM2.5 watch for Thailand. Per its README, rain is the only fast natural relief from dust. The washout panel and the what-if slider live in Mission Control, for mayors, district officers, researchers and journalists. A decision aid, not an alert authority: PCD's Air4Thai is the official AQI, and the official channel wins
• How it was built: for every province it combines the worst fresh PM2.5, the chance of rain and the forecast amount. One shared relief curve (1–5 mm ≈ 8% · 5–15 mm ≈ 20% · 15–35 mm ≈ 30% · ≥35 mm ≈ 40%) feeds the washout, danger, forecast and what-if engines, so the numbers always agree. Public JSON at /api/washout and /api/whatif?rain=20
• What it does, and how it checks itself: shows relief if it rains, and a probability-weighted "honest number" (the README's Chiang Mai example: 60% chance of 12 mm, expected relief ~12%). About 4,200 HII rain gauges verify whether a promised washout actually arrived. A heuristic from published washout ratios, not dispersion modelling. A dust-season override makes the top of the page read "LOW · STAY INFORMED", even when the score says normal, when at least 30% of sampled provinces have a worst PM2.5 of 25 µg/m³ or more inside the season window
AI corner: agent checks agent. One agent builds; a different agent, one that did not write the work, hunts for faults. It costs more tokens and buys security. This week an independent checker made 20 fixes to a Non-Philosophy script before it shipped.
Stack corner: an API endpoint is a web address that answers with data (here, JSON) instead of a page; curl is the command-line tool that fetches it, used in the README's health check.
Listen and subscribe:
RSS: https://api.nonarkara.org/podcast/oneapp/feed.xml
One App a Day with Dr Non: a new system every Monday, Wednesday and Friday, in short episodes. Narrated in Dr Non's AI-cloned voice (local open-source clone, used with consent). Nothing here is an official warning or professional advice.
Try it: https://air.nonarkara.org · Built by Dr Non at Axiom X: https://axiomx.nonarkara.org
Made with: script by Voice (Grok Bot); voice by Local AI clone of Dr Non's voice (f5-tts-mlx, zero-shot, on-device), referenced on his real recorded intro of 12 Oct 2026; not ElevenLabs; checked by Whisper large-v3-turbo (local), whole episode, coverage 0.952; repetition gate pass (audio); published by Voice queue 2026-11-11.
Craft: cold open with a stake; short sentences; numbers as punchlines; publish only when speech matches the script (Whisper coverage ≥ 0.95).