Inspiration
Urban streams are often the first places where communities notice pollution, waste, erosion, or unusual changes, yet those observations rarely become structured evidence. AquaSense was inspired by the OneAquaHealth vision of connecting ecosystem health, biodiversity, and human wellbeing through citizen participation and responsible technology.
What it does
AquaSense helps people document freshwater conditions with photos, location details, and plain-language observations. It uses AI to identify visible indicators, check for possible inconsistencies, and provide an explainable Normal, Watch, or Investigate monitoring signal. The platform includes maps, watershed analytics, reviewer workflows, notifications, and FHIR-style observation export. AI never declares water safe or unsafe, and human reviewers remain the final authority.
How we built it
We built AquaSense as a React and TypeScript web application with a FastAPI backend, Supabase authentication, storage, and PostgreSQL data layer. Groq vision analysis supports image-based assessments, while rule-based consistency checks compare visible indicators with citizen answers. We designed an auditable AI decision trail that records the model, prompt version, confidence, evidence, observer response, and reviewer outcome.
Challenges we ran into
The biggest challenge was making AI useful without making it sound authoritative. We had to prevent unsupported safety claims, distinguish real image analysis from questionnaire-only fallback results, and make the interface understandable for non-experts. We also needed to balance quick citizen reporting with meaningful evidence for reviewers.
Accomplishments that we're proud of
We created a complete citizen-to-reviewer workflow rather than just an AI demo. AquaSense can abstain when a photo is unclear, asks users to retake it, and records when a reviewer agrees with or overrides the AI. We are especially proud of the explainability, human-in-the-loop review process, responsible-AI metrics, and structured interoperability-ready data model.
What we learned
We learned that trust is a product feature, not just a policy statement. Explainable outputs, clear limitations, citizen control, and reviewer feedback make AI more useful than a confident-looking prediction alone. We also learned that simple language and guided capture improve the quality of community-generated environmental data.
What's next for AquaSense
Next, we will add stronger photo-quality guidance for blur, glare, darkness, and non-water images. We plan to expand reviewer-feedback evaluation, introduce localized monitoring challenges, connect trusted environmental datasets, and develop early-warning trend detection across watersheds. Our long-term goal is to help communities and researchers turn repeated local observations into reliable freshwater intelligence.
Built With
- alembic
- fastapi
- framer-motion
- groq-vision-ai
- hl7-fhir-r4
- leaflet.js
- openstreetmap
- postgresql
- python
- react
- react-hook-form
- sqlalchemy
- supabase-auth
- supabase-storage
- tailwind-css
- tanstack-query
- typescript
- vite
Log in or sign up for Devpost to join the conversation.