Closed — Private source — described by architecture only2026
Built for the office
- 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