# Shamba Weather Advisor
A hyperlocal weather and farming advisory tool for Kenyan smallholder farmers, built as a technical integration assessment for **WeatherAI**.
> **Note on testing:** I was unable to obtain a WeatherAI API key before the deadline due to a payment requirement I couldn't complete in time. The integration code below is complete and built directly against your documented API shape, but I haven't been able to verify it against a live `/v1/weather` response. I'd welcome the chance to test it live and walk through the code together.
---
## What it does
Shamba Weather Advisor consumes the WeatherAI API and layers a Kenya-specific, crop-aware advisory engine on top of the raw forecast data — translating weather signals into actionable guidance for farmers.
A user selects (or enters) a location in Kenya and an optional crop type (maize, tea, beans, coffee). The app:
1. Calls WeatherAI's `/v1/weather` endpoint for a 3–7 day forecast (with WeatherAI's own AI summary enabled via `ai=true`)
2. Runs a custom advisory layer over the forecast — flagging heavy rain and high wind risk, and generating crop-specific recommendations
3. Displays both the human-readable advisory and the raw weather payload
A second endpoint, `/trees/analyze`, proxies WeatherAI's tree/canopy analysis API directly — accepting a farm photo and returning canopy health insights. This wasn't required by the brief but was included to demonstrate integration with more than one WeatherAI capability.
## Features
- **Hyperlocal weather + farming advisory**: Combines WeatherAI's forecast with a rule-based risk engine (rain, wind) and crop-specific guidance (maize, tea, beans, coffee)
- **LLM-enriched narrative advisory**: A Groq-powered (Llama 3.3 70B) layer generates a short, farmer-facing summary, grounded strictly in the WeatherAI forecast and the rule-based flags — no information is invented beyond what the source data provides
- **In-memory response caching**: Identical location/ …