Inspiration
Every water body has a history, but that history is often scattered across citizen reports, NGO spreadsheets, research datasets and institutional records.
When someone notices dead fish, sewage, foam or waste dumping, it can be difficult to discover whether it happened before, who responded and what action was taken.
We built AquaRelay to connect those fragments into a shared digital memory for urban freshwater ecosystems.
What it does
AquaRelay gives each registered water body a Digital Water Body Passport—a place to explore its identity, available observations, incidents, actions and recovery history.
Citizens can find water bodies on an interactive map, submit location-based reports, attach evidence and follow updates. Organisation members can review incidents, request additional evidence and document their response.
The platform also provides dataset mapping, integration health information, authority contact details and shareable incident updates.
Our prototype includes OpenStreetMap-based starter records for Bengaluru, Sodepur–Barrackpore and Potheri.
How we built it
We built the frontend with React, TypeScript and Vite, using MapLibre for interactive maps.
The backend uses Python and FastAPI, with PostgreSQL for persistent records and a private Supabase Storage bucket for uploaded evidence. The frontend is hosted on Vercel and the backend on Render.
The data model connects water bodies, reports, incidents, evidence, organisations and timeline events. A mapping workflow helps organisations review how fields from their datasets translate into a common structure before importing them.
Background jobs handle notifications and retryable delivery tasks.
Challenges we faced
Connecting records consistently was a major challenge. Different sources can use different names, field labels and measurement units.
We also worked through map-loading failures, report-search problems, slow water-body selection and deployment issues. We improved database queries, reduced unnecessary graphics work and added fallback behaviour.
Another challenge was communicating uncertainty. A report of dead fish does not establish the cause. AquaRelay preserves observations and workflow status without presenting them as scientific conclusions.
Accomplishments we're proud of
We turned the concept into a live prototype with connected workflows for exploration, reporting, evidence, incident response and historical records.
We are especially proud of the water-body passports and timelines: they help preserve what happened after an observation, including documented action and recovery.
We also created location-based sharing formats for Instagram Stories and WhatsApp Status, alongside administrator controls for safely managing prototype data.
What we learned
Useful interoperability requires more than importing a file. Records need consistent identities, clear provenance, measurement units and human review.
We learned that transparency is essential: starter data, demonstration records, community observations and confirmed actions must be clearly distinguished.
We also learned that performance and accessible reporting are central to making environmental information useful to citizens.
What's next
Our next steps are to validate records with local organisations, connect verified datasets and strengthen real-world incident workflows.
We plan to improve multilingual reporting, offline field capture and standards-based integrations, including OGC SensorThings where appropriate.
The current website is a prototype. Demonstration scenarios illustrate the workflow, and authority listings do not imply official partnerships.
Our goal remains the same: ensure that a water body's evidence, history, response and recovery never get lost between databases.
Built With
- fastapi
- github
- gmail-api
- maplibre-gl-js
- openstreetmap
- postgis
- postgresql
- python
- react
- render
- sqlalchemy
- supabase
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.