Inspiration
Hanoi residents often know when the air is unhealthy, but not why it happened or what action to take. We wanted to transform fragmented environmental data into timely, trustworthy decisions.
What it does
ZephyrAQ investigates air-quality conditions across Hanoi districts. It combines modeled pollution estimates, city-wide observations, weather, wind, multi-road traffic, NASA FIRMS thermal detections, and historical trends.
An AI agent retrieves evidence for the selected district, compares signals, evaluates competing hypotheses, communicates uncertainty, and recommends review-only actions. Every investigation includes its evidence and tool trace and is written back to DataHub as a searchable document.
How we built it
ZephyrAQ uses a Next.js frontend, FastAPI backend, and Neon PostgreSQL database. Python pipelines ingest data from Open-Meteo CAMS, IQAir, Open-Meteo Weather, TomTom, and NASA FIRMS.
DataHub catalogs these datasets and supplies Gemini with metadata, provenance, scope, and schema context through MCP. The agent selects from allowlisted tools to retrieve bounded district evidence, compare districts, inspect history, and evaluate hypotheses.
Deterministic scoring and structured validation keep reports grounded in verified database values before they are written back to DataHub.
Challenges we ran into
Our biggest challenges were combining sources with different formats, coverage, and update times; distinguishing modeled estimates from physical measurements; handling missing data; and explaining likely causes without overstating certainty.
Additionally, deployment with a local DataHub server was a bit difficult. We ran into challenges configuring the environment, connecting our services reliably, and making sure the agents could access the correct metadata and datasets. Debugging these integration issues took time, but it also helped us better understand how DataHub works under the hood and how to build a more reliable agentic workflow around it.
Accomplishments that we're proud of
We created an end-to-end investigation workflow rather than another AQI map. ZephyrAQ validates evidence, ranks transparent source hypotheses, records tool activity, communicates uncertainty, recommends actions, and records every investigation for auditing and future learning.
What we learned
We learned that environmental intelligence depends as much on data context as data values. Freshness, lineage, units, spatial resolution, and sensor health can completely change a conclusion. AI works best when constrained by traceable evidence and clear safety boundaries.
What's next for ZephyrAQ
We plan to add more monitoring stations, expand beyond the eight pilot districts, improve source attribution, include construction and industrial activity, connect real notification and inspection systems, and evaluate recommendations against confirmed outcomes.
Built With
- datahub
- fastapi
- gemini
- iqair
- maplibre
- nasa-firms
- neon
- next.js
- open-meteo-cams
- open-meteo-weather
- openstreetmap
- postgresql
- python
- react
- tomtom-traffic-flow
- typescript
- vercel

Log in or sign up for Devpost to join the conversation.