From citizen observations to actionable water intelligence.
An AI-assisted human-in-the-loop platform for converting fragmented freshwater observations into explainable, spatial, and temporal environmental signals — that help researchers decide what deserves attention next.
🤖
AI ASSISTS
structures & prioritizes
👩🔬
SCIENTISTS VALIDATE
human judgment required
🏘
COMMUNITIES PARTICIPATE
observations close the loop
7
Reports in system · DEMO DATA
1
Active cluster signal
6
Reports in 72h window
74
Avg EQS (cluster zone)
ONE HEALTH CONTEXT — environmental signals connect ecosystems, animals, and communities
🌿 Environmental
Water body condition · Ecosystem integrity · Discharge patterns · Algal signals · Habitat change
Evidence level: CITIZEN OBSERVATION
🦅 Animal / Ecological
Wildlife stress signals · Fish mortality · Aquatic biodiversity · Migratory species behavior
⚠ Environmental signals can support earlier investigation and awareness of conditions relevant to ecosystem and community wellbeing. HydroTriage does not infer disease, human illness, or confirmed contamination from citizen observations.
Evidence pipeline — every stage is visible
👁
Citizen Observation
Photo + structured form
🔬
Evidence Extraction
Visual proxy signals + NLP
📊
Evidence Quality Assessment
EQS — not pollution score
🗺
Spatial + Temporal Corroboration
Cluster detection 72h window
⚡
Signal Detection
Environmental signal, not finding
🏷
Priority Score
High / Standard / Low
👩🔬
Researcher Review
Validate · Escalate · Dismiss
✓
Outcome
Validated / Rejected / Field check needed
01–03
Evidence in
Photo + observation form → AI extracts signals → EQS scores evidence quality (not water quality).
04–05
Corroboration
Spatial cluster detection (1.8 km / 72 h) and temporal trend analysis flag emerging environmental signals.
06–07
Priority routing
AI assigns a priority score. Researcher dashboard shows structured summary — never a conclusion.
08–09
Close the loop
Researcher validates or escalates. Citizen sees their report's impact. Field verification closes the chain.
SIGNAL JOURNEY — HOW ONE CITIZEN OBSERVATION BECOMES AN ACTIONABLE SIGNAL
Click any stage to explore the output at that step
⬤ DEMO DATA — simulated for illustration
👁
1 · Citizen ObservationUlsoor Lake · Sep 22 · 07:14
"Something unusual here — green-brown water, strong smell, foam on surface near the boat jetty."
▼
WHAT THE CITIZEN SUBMITTED:
Location
Ulsoor Lake, North Bank
Colour
Green-brown, turbid
Surface
Heavy foam
Odor
Strong sulfur
Photo
✓ Attached
Wildlife
Dead fish observed
🔬
2 · Evidence ExtractionAI-assisted
4 anomaly signals extracted from observation. Photo analyzed for visual proxies.
AI extraction is probabilistic — estimated, not verified. Requires researcher review.
📊
3 · Evidence Quality Score82/100
High evidence weight — photo + 4 anomaly signals + precise GPS. Evidence quality ≠ water quality.
▼
Visual Evidence 25%
85
Completeness 20%
95
Location Precision 15%
85
Corroboration 25%
80
Temporal Relevance 15%
70
🗺
4 · Spatial Engine6 reports · 1.8 km
Cluster detected: 6 independent observations within 1.8 km during the past 72 hours. Pattern warrants investigation.
▼
SPATIAL CORROBORATION — derived from demo dataset:
6
Reports
1.8
km radius
72h
Window
MOD
Confidence
⏱
5 · Temporal Engine6× spike Sep 22–26
Report frequency increased 5× above baseline during Sep 22–26. Repeated observation pattern warrants investigation — not a confirmed environmental event.
▼
Observation frequency trend (DEMO DATA — simulated):
EQS 82 + spatial cluster + temporal spike → routed to high-priority researcher queue. Not a pollution finding.
▼
PRIORITY REASONING (transparent, not black-box):
+ EQS 82/100 — above high-priority threshold (70)
+ 6 independent reports within cluster zone
+ 4 independent observers corroborate the same anomaly types
+ Temporal spike: 6× above 30-day baseline
+ Multiple anomaly signal categories (colour, odor, foam, wildlife)
− No field measurement available
− No laboratory confirmation — conclusion not warranted
→ Recommended action: field verification and water sample collection
👩🔬
7 · Researcher Review● PENDING HUMAN VALIDATION
Researcher reviews AI summary, evidence trace, and spatial/temporal context. AI does not replace expert judgment.
▼
Researcher can validate, escalate, dismiss, or request more evidence. Outcome is recorded and fed back to citizen.
✓
8 · Outcome & Citizen FeedbackVALIDATED FOR FIELD CHECK
Citizen notified: "Your observation contributed to an active environmental review. Field verification scheduled."
▼
Message to citizen (CitizenObserver_7a3f):
"Your observation of unusual water conditions at Ulsoor Lake on 22 September has been reviewed by an environmental researcher. It contributed to an active local investigation. Field verification is scheduled within 48 hours. Thank you for your observation — you will be notified when a result is available."
DEMO: simulated outcome for illustration purposes. No real investigation was triggered.
⚠HydroTriage measures the quality of citizen observations, not water quality itself. Every AI output is labeled as an estimate and requires expert human validation before any conclusion is drawn. No public health advisory is ever generated automatically.
Report a water observation
Your report takes under 2 minutes. A researcher will review it — and you'll hear back.
📸
Photo evidence
📷
Tap to photograph the water
JPG · PNG · HEIC · Max 10 MB
●Photos provide AI-estimated visual proxy signals only — not laboratory measurements.
📍
Location & time
🔍
What do you observe?
Report goes to researcher queue after scoring
Evidence Quality Score
● Observed● Estimated● Contextual● Unverified
⚠EQS measures evidence quality, not water quality or pollution severity. This is not a water safety assessment.
0
EQS
EVIDENCE PIPELINE — your report's journey
✓
Observation received
✓
Evidence extracted
✓
Quality scored
✓
Spatial corroboration
✓
Signal detection
✓
Priority assigned
●
Researcher review
○
Validated / Field check
Evidence Quality Score breakdown
measures evidence quality — NOT water safety
Why this score?
AI Interpretation
claude-sonnet-4-6🟡 Estimated · Unverified
Waiting for submission…
Researcher dashboard
Report review queue
🚨
Emerging Environmental Signal — Ulsoor Lake
Detected by Haversine spatial algorithm · Reports warrant field verification · Not a confirmed pollution event
6
Reports in cluster
72 h
Time window
1.8 km
Radius
74
Avg EQS
Moderate
Confidence
Common observations:unusual discolorationodorsurface foamalgae mats
Cluster confidence: ModerateREQUIRES FIELD VERIFICATION
TEMPORAL PATTERN · Report frequency over 7 days
⚠ Frequency spike on Sep 22 is consistent with an environmental event warranting investigation — not a confirmed contamination finding.
Your contribution
My reports
4
Reports submitted
66
Average EQS
2
Clusters triggered
Technical design
System Architecture
HydroTriage is designed as an API-first, modular intelligence pipeline. Every layer is independently replaceable.
⚠ EQS measures evidence quality. It does not indicate water safety, pollution severity, or health risk. Weights are documented and adjustable by researchers.
SPATIAL CLUSTERING ALGORITHM — calculated from dataset, not hardcoded
function haversineKm(lat1, lon1, lat2, lon2)
→ returns great-circle distance in km
clusterReports(reports, radiusKm=1.8, windowHours=72)
→ for each report pair: if distance ≤ radiusKm
AND time difference ≤ windowHours → same cluster
→ returns: { members[], centroid, avgEQS, confidence }
Confidence: HIGH (≥8 reports) | MODERATE (4–7) | LOW (2–3)
Transparency & interoperability
Data Model & FAIR Principles
Every observation is a structured, traceable, reusable data object. HydroTriage is designed to be FAIR by default.
🔍
Findable
Unique observation_id per report. Indexed by location, timestamp, type, and priority. Machine-readable metadata attached to every observation.
🔓
Accessible
Export as JSON or CSV. Researcher-level data access controlled. Citizen data pseudonymised — no PII in exports. Open observation schema.
🔗
Interoperable
Fields mapped to WQX observation vocabulary. ISO 19156 compatible observation model. GeoJSON-ready coordinates. Designed for FHIR-compatible extension†.
♻️
Reusable
Full provenance chain: citizen_id → observation → AI processing → researcher action. Validation status tracks data lifecycle. Export includes full audit trail.
✓Data minimisation Only observation data collected — no name, email, or device ID stored
✓Pseudonymous ID Citizens assigned a random token (e.g. CitizenObserver_7a3f) at session start
✓Explicit consent Observation form includes consent checkbox before submission
✓Researcher access control Raw citizen notes accessible only to authenticated researchers
EXPORT DEMO DATASET
Export the current observation dataset as structured JSON. Includes all observation fields, EQS scores, AI interpretations, and validation status. Pseudonymised — no PII included.
⬤ DEMO DATA — all records are simulated for prototype demonstration purposes
† WQX (Water Quality Exchange) and FHIR (Fast Healthcare Interoperability Resources) integrations are architectural design goals — not implemented in this prototype. Field naming is compatible by design.