🌊 AquaPulse AI
Turn every citizen's water observation into an early-warning signal.
Inspiration
Urban water bodies can change quickly, but continuous monitoring of every lake, drain, and wetland is difficult and expensive. We were inspired by a simple question:
What if the people who are already around these water bodies could become an additional layer of environmental monitoring?
A citizen might notice unusual foam, algae, waste, a change in colour, or dead fish before that change becomes visible through conventional monitoring.
We wanted to turn these small observations into something more useful than isolated reports. That led us to AquaPulse - a platform that combines citizen observations, optional sensor readings, AI-assisted image analysis, and historical trends to identify unusual changes in urban freshwater ecosystems.
Our goal was not to build another pollution-reporting app, but an early-warning system that connects evidence, context, and change over time.
What it does
AquaPulse allows citizens to submit a water observation in around 30 seconds using a photo, simple indicator chips, notes, and optional readings such as pH, turbidity, and temperature.
The platform then:
- Uses AI to identify observable environmental indicators from photos and notes.
- Combines AI observations with sensor readings and other reports.
- Generates an AquaPulse Signal from 0–100 with an explainable component breakdown.
- Compares recent conditions with the site's historical baseline to detect sudden changes.
- Displays water sites, signals, trends, and anomalies on an interactive map and dashboard.
- Allows the community to verify observations.
- Provides moderators with tools to verify reports and manage alerts.
- Rewards useful community participation through AquaPoints.
A key design principle is responsible AI. AquaPulse does not claim that water is safe or unsafe to drink. It focuses on observable environmental indicators and treats its signal as a prototype indicator that requires human verification.
How we built it
We built AquaPulse as a mobile-first Progressive Web App using Next.js, TypeScript, Tailwind CSS, and Leaflet.
The system is divided into several layers:
Citizen Observation ↓ Photo + Notes + Indicators + Sensors ↓ AI-assisted Feature Extraction ↓ Rule-based Analysis Engine ↓ Historical Change Detection ↓ AquaPulse Signal ↓ Map · Dashboard · Alerts · Verification
For AI-assisted analysis, we use Gemini Vision to extract observable features such as apparent turbidity, suspected algae, visible waste, foam/oil, odour reports, and changes in the water surface.
Instead of allowing the AI to directly decide the final score, these observations are passed into our rule engine. The signal combines recent observations, visual indicators, sensor readings, waste reports, and historical anomalies.
For authentication and persistent storage, we integrated Supabase with PostgreSQL, authentication, storage, and Row Level Security. We also implemented role-based access for citizens, moderators, and administrators.
For development and demonstration, AquaPulse includes a demo dataset containing realistic observations across Delhi water bodies, allowing us to demonstrate trends and sudden changes without requiring physical sensors.
Challenges we ran into
One of our biggest challenges was deciding how to turn messy, real-world observations into a meaningful signal.
A photograph alone cannot accurately determine overall water quality. Similarly, a single citizen report should not immediately trigger a serious alert.
We therefore had to design a system that combines multiple forms of evidence while keeping the output understandable.
Another challenge was making AI useful without making it the final authority. We solved this by using AI primarily for structured observation, while keeping scoring and historical comparison in a separate rule-based system.
We also had to think about:
- Handling unreliable or incomplete citizen observations.
- Preventing users from submitting forged AI results.
- Designing community verification.
- Protecting user data and uploaded images.
- Preventing duplicate or abusive votes.
- Making the observation process fast enough for mobile users.
- Creating realistic demo data that could demonstrate change detection.
- Clearly communicating that the AquaPulse Signal is a prototype indicator rather than a scientifically calibrated water-quality index.
Accomplishments that we're proud of
We are proud that AquaPulse became a complete working prototype rather than just an idea or UI mockup.
A citizen can go from:
finding a water body → submitting evidence → receiving AI-assisted analysis → seeing the site's signal → detecting a change → viewing an alert → community verification
within the same platform.
We are especially proud of the temporal change-detection system. Instead of only asking "How is this water body right now?", AquaPulse asks:
«"Has something changed compared with what is normal for this site?"»
We also implemented authentication, role-based permissions, database security, moderation workflows, community verification, explainable signals, and a mobile-first experience within the prototype.
What we learned
We learned that building an environmental AI product is not simply about adding an AI model.
The difficult part is building the evidence pipeline around the AI.
We learned to:
- Separate AI interpretation from final decision-making.
- Design for uncertain and incomplete real-world data.
- Use historical context instead of relying on single observations.
- Make AI outputs explainable to non-technical users.
- Think about verification and trust from the beginning.
- Treat security and permissions as part of the product rather than an afterthought.
- Design mobile workflows around what a citizen can realistically do in the field.
Most importantly, we learned that a useful environmental system needs to connect people, data, technology, and action rather than treating AI as the entire solution.
What's next for AquaPulse
Our next step is to move from a prototype observation network toward a more connected environmental monitoring system.
We plan to explore:
- Low-cost ESP32 sensor nodes for pH, turbidity, and temperature.
- Weather and historical data integration for better anomaly detection.
- Improved forecasting of unusual environmental changes.
- Connections with municipal and pollution-monitoring systems.
- Authority status updates so citizens can see what happens after a verified alert.
- More field validation against laboratory measurements and expert feedback.
- Expansion from individual sites to a city-wide urban freshwater monitoring network.
Our long-term vision is an urban freshwater digital twin where citizen observations, sensors, historical data, and verified environmental events work together to provide an evolving picture of the health of a city's water ecosystems.
Built With
- api
- css
- gemini
- googlegeminivision
- leaflet.js
- netlify
- next.js
- node.js
- postgresql
- react
- restapi
- sql
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.