Core answer
Historical rain probabilityFor one selected location and calendar date.
Built for NASA Space Apps Challenge
Rainfall climatology from historical data.
A five-person hackathon project estimating how often measurable rain has occurred at a selected location on a selected calendar date.
Mission question How often has it rained here on this date?
01 / Mission
Useful context for rain-sensitive plans beyond the reliable forecast window.
Travel, farming, outdoor events, and seasonal decisions still need context when long-range forecasts cannot provide certainty.
Willie Rainy reframes that gap as a climate-history question, showing what the archive says without presenting climatology as prediction.
02 / Method
A transparent path from a planning question to an uncertainty-aware result.
03 / Prototype
Select a place and date, then read the historical signal with its uncertainty intact.
Core answer
Historical rain probabilityFor one selected location and calendar date.
Uncertainty
95% Wilson intervalA visible range that avoids false precision.
Rainfall
Mean + medianCalculated from rainy observations only.
Context
Sample + sourceHistorical sample size and methodology metadata.
Loading, validation, network, and provider error states keep the experience legible when a request cannot be completed.
04 / Build
A typed interface, asynchronous API, and historical rainfall service.
Interface
The React and TypeScript frontend handles location input, calendar-date selection, result presentation, source metadata, and user-facing request states.
API
FastAPI and Pydantic validate latitude, longitude, date, and range inputs before passing each request to the climatology service.
Data method
An asynchronous aiohttp client retrieves daily rain_sum values from Open-Meteo, groups them by calendar day, and calculates the statistical result.
Open-Meteo historical weather and geocoding APIs supply the archive and location data. An in-memory cache reduces repeat requests.
Tech stack
05 / Role
Full-stack implementation and product direction within a five-person team.
06 / Outcome
Historical context without overstating prediction.
The prototype turns raw rainfall observations into a practical planning interface and demonstrates collaborative delivery, climate-data handling, full-stack API design, and uncertainty-aware product thinking.