Skip to content
Closed — Private source — described by architecture only2026

Built for the office

Three readings
Client
A rain alert for the office: it checks three weather services every hour and messages me when rain is likely that afternoon — so plans get made before the rain, not after.
Recruiter
Hourly GitHub Actions job in Node.js that queries Open-Meteo, MET Norway and WeatherAPI in parallel and sends a Slack DM on a majority vote.
Engineer
Three sources vote on the 1–6pm window and two must agree; a source that times out drops out of the vote instead of failing the run, and a cached marker keeps it to one message a day.

What it does

  • A Slack message only when rain is genuinely likely that afternoon
  • At most one alert a day

Under the hood

  • A source votes rain if any hour in the window crosses a 40% chance or 0.2 mm an hour
  • Eight-second timeout per source; a dead source is dropped from the vote, never fatal
  • OpenWeatherMap left out on purpose — its free tier is three-hourly, too coarse for a five-hour window

Built with

  • Node.js
  • GitHub Actions
  • Open-Meteo
  • MET Norway
  • WeatherAPI
  • Slack API
  • Luxon

Source is private. Happy to walk through the architecture on a call — ammadtehseenkhan@gmail.com