Inspiration
Cities don't usually run out of water overnight — stress builds for weeks or months as reservoirs fall, consumption rises, and rainfall drops. The data to see that coming often already exists: reservoir levels, weather, consumption, population. But it lives in different systems, updates on different schedules, and rarely gets turned into a clear "act now" signal for planners.
We built AquaGuard because water decisions shouldn't wait until a crisis. Utilities and governments need something that doesn't just answer questions — it checks whether the data is fresh, analyzes risk from live sources, and recommends concrete interventions before shortages hit communities.
What it does
AquaGuard is an AI agent that predicts water stress and generates intervention plans grounded in real data.
For any city, it can:
- Verify pipeline health — use Fivetran MCP to check connector status, last sync, and data freshness
- Analyze risk — query BigQuery for risk scores from reservoir storage, rainfall, and consumption
- Explain why — break down contributing factors in plain language
- Recommend actions — suggest interventions (e.g. conservation campaigns, usage restrictions) with expected savings and population impact
Users interact through a clean Streamlit chat UI. Every number comes from tool results — the agent does not invent statistics.
Example prompts: "Analyze Chennai", "Which city is at highest risk?", "Verify data freshness and analyze Hyderabad"
Live demo: https://aquaguard-2f6zkfuwfq-uc.a.run.app
How we built it
Stack
- Google ADK (
LlmAgent) + Gemini for multi-step reasoning and tool use - Fivetran MCP — connector status, sync state, on-demand syncs (hackathon partner integration)
- BigQuery MCP — read-only SQL on
city_risk_analysisandcity_interventionsviews - Data pipeline: Google Sheets → Fivetran → BigQuery
- Streamlit (
app.py) — public-facing UI on Google Cloud Run
Architecture
Built With
- fivetran
- gemini
- google-cloud
- google-cloud-adk
- mcp
- python
Log in or sign up for Devpost to join the conversation.