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:

  1. Verify pipeline health — use Fivetran MCP to check connector status, last sync, and data freshness
  2. Analyze risk — query BigQuery for risk scores from reservoir storage, rainfall, and consumption
  3. Explain why — break down contributing factors in plain language
  4. 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_analysis and city_interventions views
  • Data pipeline: Google Sheets → Fivetran → BigQuery
  • Streamlit (app.py) — public-facing UI on Google Cloud Run

Architecture

Built With

Share this project:

Updates