A Typhoon Tracker Built in One Sleepless Night Is Now Open for Anyone to Harden
Disaster-information tools often fail exactly when they are needed most because they depend on databases, auth, or ad infrastructure that collapses under load or connectivity loss. This tracker’s architecture—a single stateless Worker, pure functions, and cache merging instead of overwriting—is a replicable pattern for any crisis dashboard where uptime is non-negotiable and the audience is panicked, mobile, and bandwidth-constrained.
Typhoon Bavi Tracker puts Chinese, Japanese, American, and Taiwanese forecast models on one MapLibre GL map so the convergence—or divergence—of predicted landfall is immediately visible. A city impact countdown estimates arrival time based on wind speed and vector math, while a shareable deep link focuses the map on a specific city. Real-time RSS news aggregation and a static emergency guide round out the tool, which runs entirely on a Cloudflare Worker with no database and a deliberate bias toward simplicity so it stays up when infrastructure around it fails.
The creator, HiSt, built it after finding no single source that answered three urgent questions during a typhoon: where it is, how long until it hits, and what to do now. The code is intentionally minimal—pure functions for normalization and impact calculation, a Worker that only proxies and caches, and a strict rule that a bad data fetch must never overwrite a good cache snapshot.
The repository is now open for contributions, with a task list prioritized by human impact over technical novelty. Adding a city is a one-line change; multi-typhoon support, localized shelter guides, PWA offline caching, and i18n are all on the roadmap. The project’s open-source rationale is blunt: disaster information should not be locked in anyone’s server, and a community can sustain what one person’s late-night burst of energy cannot.
Overlaying multiple forecast models turns disagreement from a source of confusion into a signal: tightly clustered lines indicate high confidence, while scattered lines are a warning to prepare for a wider range of outcomes.
The cache-merge strategy—where new data is added to a historical snapshot rather than replacing it—is a small design decision with outsized reliability implications for any tool that must function during infrastructure degradation.
Choosing a serverless Worker with no database is framed not as a cost-saving measure but as a reliability strategy: fewer moving parts mean fewer failure modes when the surrounding network is under stress.
The project’s contribution model explicitly values adding a city over swapping a framework, which inverts the usual open-source incentive structure that rewards technical sophistication over real-world utility.
A map style loading error is the main technical complaint, acknowledged by the author as a likely intermittent network glitch. Several people report the site failing to load or getting stuck fetching data. The speed of development draws curiosity about the underlying server setup and AI tooling, while a request for a technical deep-dive on the Cloudflare deployment template goes unanswered. One commenter notes a competing Zhejiang-based tracker but concedes this version packs more information.
Bug: Style is not done loading. at cn._checkLoaded (maplibre-wqmL2Hxp.js:796:86493) at cn.addSource (maplibre-wqmL2Hxp.js:796:91133) at Yo.addSource (maplibre-wqmL2Hxp.js:800:109763) at Gt.setupLayers (index-C1flaEsg.js:2:6218) at index-C1flaEsg.js:107:3324 at s (index-C1flaEsg.js:2:5974)
Got it, I'll take a look after work. Probably a sporadic network issue. Gotta be a beast of burden for a while longer [downcast]
There really is a bug crawling around [dog with eye-roll]
OP is fast. Did you have a server before? How can you be this fast? Even with AI assistance, it's still incredibly fast.
The above is an ops doc. Talk about the tech stack. What engineering template is this, and how to deploy it on Cloudflare?