Inspiration

I wanted to build something that could help people care for the river near them—even if it is not part of a research project or one of the locations already listed in an app.

Someone walking beside a stream might notice unusual foam, a strange colour, or an animal becoming ill after contact with the water. They may care enough to report it, but not know what they are looking at, who to tell, or whether anything will happen afterwards.

That is the gap I wanted RiverRelay to help close.

OneAquaHealth’s work connecting water ecosystems with human and animal health gave this project its starting point. My longer-term ambition is to take it beyond the pilot locations and support more communities looking after their own rivers.

From citizen observation to human action.

What it does

RiverRelay connects two people: someone noticing a change at a stream, and a coordinator who can assess the evidence and take responsibility for the next step.

For the person reporting, the journey is simple:

  • Choose a known place, drop a map pin, or describe a nearby landmark.
  • Record what they can see, with an optional photograph.
  • Answer an illustrated follow-up question when more detail could help.
  • Return to their saved report and add information later.

People do not need an account or specialist knowledge to make a report. “Not sure” is a valid answer.

The coordinator has a separate workspace for reviewing original observations, understanding missing information, recording a decision and assigning a follow-up to a named person. A field planner helps organize suitable visits within the team’s available time.

A report becomes part of shared site evidence only after explicit human approval. If the citizen adds information that changes the evidence, that approval must be renewed. The original answers and previous decisions remain available.

How I built it

I built the interface with React, Vite and Leaflet, supported by a Python FastAPI backend and SQLite, and hosted the prototype on Microsoft Azure.

I separated the interface, ecological rules, storage and external services into modules so the project is easier to understand, test and extend.

The project uses OneAquaHealth’s published survey structure and public research context. Historical measurements are shown with their sources and dates, separately from citizen observations.

The design also received substantial attention: readable questions, illustrated guidance, mobile navigation, six interface languages and a flowing river landscape that gives the project a sense of place.

How AI fits in

For Track 3, I focused on making assistance understandable and keeping decisions with people.

The optional photo-AI component has a deliberately limited role: it may ask for clarification. It cannot rewrite someone’s original answer, decide ecological urgency, or approve a report.

Photo AI is switched off in the current hosted demo. The source-backed field questions, validation checks and human-review workflow remain usable without it.

Challenges I faced

The hardest challenge was handling uncertainty responsibly.

An incomplete report can still describe something serious. Reducing everything to one confidence score would hide that distinction, so RiverRelay keeps missing information, potential consequence and review status separate.

Another challenge was making the handoff meaningful. Recording a decision is only one step; someone needs to own the follow-up. I also had to handle what happens when evidence changes after a decision has already been made.

Testing therefore went beyond whether a button worked. It covered saved reports, retries, revised evidence, approval rules and separation between private practice workspaces.

What I learned

I learned that explainability needs to be visible in the workflow. People should be able to inspect the original observation, understand why a question was asked, and see who made a decision.

I also learned that a useful environmental tool needs to respect both users: the person beside the river who needs a simple experience, and the coordinator who needs enough detail to act responsibly.

What comes next

I want RiverRelay to grow beyond the rivers listed in this prototype. The reporting flow already allows people to describe other places; making it useful in those places also requires local knowledge, coordinators and agreed ways to respond.

My next step is to test it with citizens and freshwater specialists, improve the questions from their feedback, and explore how local groups could use it to support monitoring, investigation and appropriate cleanup work.

Cleaner rivers are the long-term aim. This prototype’s first contribution is helping an observation reach someone who can act on it.

I would like a small, overlooked stream to receive the same care and attention as a well-known river—and I want RiverRelay to help the people willing to do that work.

Share this project:

Updates

Submission history