← All tools

Toolkit · Visitor planning

Weather

Weather for your location as a widget and as hotlinkable images.

Screenshot of Weather

The problem

Outdoor sites need weather in three places — the website, the visitor email, and the lobby screen — and only one of those can run JavaScript.

How it works

A scheduled job fetches the forecast and writes both a data file and a set of rendered images. The website uses the widget; email and signage hotlink a PNG.

Worth knowing

This is the architecture in miniature: only the scheduled job ever calls the weather API. The widget and images are static files, so no amount of visitor traffic touches the government service.

The dual output is what makes it useful in a real organization — a communications assistant can put live weather in a newsletter without asking a developer for anything. Failure handling is explicit: if the source is unreachable it falls back to the last published forecast, marks it stale, and shows a “data delayed” note rather than going blank. Active alerts tighten polling from fifteen minutes to five.

The README keeps an honest caveat: this is an ambient display, not a life-safety alerting channel.

Using it at your organization

  • Change the location coordinates in the config.
  • US National Weather Service is free and keyless; swap the client for another provider elsewhere.
  • Restyle the image variants to your own brand colours.

Stack: Python · GitHub Actions · SVG/PNG rendering · GitHub Pages
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.

Related tools

Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.