Inspiration

Citizen science can provide an enormous amount of information about urban freshwater ecosystems, but the quality and consistency of citizen-generated observations can vary.

A photograph may be blurry or poorly exposed. A volunteer may misinterpret what they see, or accidentally submit an observation that conflicts with the evidence in their photograph. At the same time, environmental experts cannot manually review every observation at scale.

This led us to a simple question:

Can AI help make citizen-generated water observations more reliable without replacing human judgment?

This question inspired AquaGuard AI, our solution for Track 3: AI-Supported Assessment of the IEEE OneAquaHealth Global Hackathon.

Our goal was not to build an AI system that simply declares an observation right or wrong. Instead, we designed an intelligent safety net that detects potential inconsistencies, explains them, and brings observations that need attention to a human reviewer.


What it does

AquaGuard AI is an AI-assisted platform for validating citizen observations of urban freshwater ecosystems.

A citizen can visit a monitoring location, capture a photograph of the water, and submit an observation through our mobile-friendly application.

The system then performs multiple checks:

1. Image Quality Check

The system checks whether the uploaded image is suitable for analysis, identifying problems such as blur and poor image quality.

2. AI Vision Analysis

The image is analyzed for visual ecological indicators such as turbidity, suspended material, floating debris, algae, and vegetation.

3. Adaptive Assessment

Based on detected evidence, the system can ask targeted follow-up questions instead of forcing the citizen through an unnecessarily long form.

4. Cross-Validation

The AI compares what is visible in the photograph with what the citizen reported.

Example:

Citizen: Clear Water + No Litter
AI: Turbidity Detected + Floating Debris Detected

Instead of silently changing the citizen's response, AquaGuard AI flags the discrepancy.

5. Human-in-the-Loop Review

Suspicious or conflicting observations are routed to a reviewer dashboard, where an expert can inspect the original response, photograph, AI findings, and reason for the warning before making the final decision.

The platform is also designed to support offline-first data collection, allowing observations to be stored locally and synchronized when connectivity becomes available.


How we built it

We built AquaGuard AI as a three-tier system.

Citizen Application

The frontend was built using:

  • React
  • TypeScript
  • Vite
  • Progressive Web App architecture
  • IndexedDB for local storage
  • Leaflet for geospatial interaction

The application follows an offline-first approach so that field observations do not depend entirely on continuous internet connectivity.

Backend

Our backend uses:

  • Node.js
  • Fastify
  • PostgreSQL
  • PostGIS
  • JWT-based access control
  • BullMQ for background processing

The backend receives observations from the citizen application, manages processing workflows, stores the resulting information, and supports the reviewer dashboard.

AI Pipeline

The AI processing layer was developed as a Python microservice using:

  • Python
  • OpenCV
  • PyTorch
  • Pydantic
  • Vision AI models
  • Local computer-vision fallbacks

The pipeline is organized into multiple verification layers covering image quality, ecological evidence extraction, adaptive questioning, and cross-validation.

We also designed finalized observations to support HL7 FHIR R4 representation, allowing environmental observations and AI provenance to be structured for future interoperability.


Challenges we ran into

Making AI assist rather than replace humans

The biggest challenge was deciding how much authority the AI should have.

Environmental observations are contextual, and AI can make mistakes too. We therefore avoided designing a system that automatically overrides citizen observations.

Instead, the AI identifies potential conflicts, explains why they were detected, and allows a human reviewer to make the final decision.

Designing for real field conditions

Environmental monitoring does not always happen in locations with reliable internet connectivity.

This forced us to think beyond a normal web application and design offline storage, synchronization, and fallback mechanisms into the system.

Integrating multiple technologies

The project required us to connect a React PWA, Node.js backend, PostgreSQL/PostGIS database, Python AI services, computer vision, background processing, and interoperability standards.

Making these components work together as one end-to-end workflow was significantly more challenging than developing each component separately.

Keeping the citizen experience simple

Environmental monitoring can involve complex scientific concepts and many possible observations.

We had to balance the amount of information collected with the need to keep the citizen workflow simple and understandable. This motivated our adaptive questioning approach.


Accomplishments that we're proud of

We are proud that we built more than a simple AI image classifier.

Our prototype connects the complete workflow:

Citizen → Image → AI Analysis → Cross-Validation → Conflict Detection → Human Review

We are particularly proud of our human-in-the-loop design. Instead of treating AI predictions as ground truth, AquaGuard AI uses AI to prioritize observations that deserve attention.

We also implemented:

  • Offline-first citizen data collection
  • AI-based image quality assessment
  • Ecological evidence detection
  • Cross-validation between citizen input and AI evidence
  • Explainable conflict warnings
  • Reviewer dashboard
  • Reliability-based observation triage
  • AI fallback mechanisms
  • Structured environmental data representation

Our implementation was also tested through an automated suite covering the major processing and validation components, with 209 unit and integration tests reported in our project implementation.


What we learned

This project taught us that building responsible AI is not only about selecting a powerful model.

We learned the importance of:

  • Human-in-the-loop AI
  • Explainability
  • Data quality before AI inference
  • Offline-first system design
  • Reliable data pipelines
  • Interoperability
  • Designing for real-world users
  • Handling uncertainty instead of hiding it

Most importantly, we learned that trust is just as important as accuracy when AI is used to support environmental decision-making.

An AI system that is technically impressive but cannot explain why it raised a warning is much less useful to an environmental expert than a system that provides understandable evidence and keeps the human in control.


What's next for AquaGuardAI

AquaGuard AI is designed as a foundation that can be expanded beyond the hackathon prototype.

Our next steps include:

  • Training and evaluating more specialized ecological computer-vision models
  • Expanding real-world environmental datasets
  • Improving temporal stream-health analysis
  • Adding additional biodiversity indicators
  • Exploring hydro-acoustic monitoring
  • Integrating satellite and remote-sensing data
  • Expanding interoperability with environmental and health information systems
  • Conducting larger-scale real-world validation

Our long-term vision is to connect:

Citizen Observations → AI-Assisted Validation → Expert Review → Trusted Environmental Intelligence → Better Decisions

We believe AI should not replace the people who care for our ecosystems.

It should help them make better use of the information they collect.

AquaGuard AI

An intelligent safety net for citizen science.

Built With

Share this project:

Updates

Submission history