Inspiration

Imagine a Saturday morning beside an urban stream. Someone reports foam below a footbridge. Other reports arrive from nearby sites. A coordinator has one volunteer team and two hours.

Which concern should they check first? Which needs expert attention? And who will find out whether the response helped?

That is the moment Rill is built for. Citizen observations give communities more eyes on their waterways. Turning those observations into responsible follow-through takes time, judgment and coordination.

The same stream is wildlife habitat, an animal contact point and part of people's everyday surroundings. Rill connects a report to the next useful check, the person responsible and a documented recheck. Better coordination could help teams investigate sooner. That is the impact we want to test.

What it does

Rill is a shared fieldwork workspace for river groups, citizen-science coordinators and research teams. It answers one practical question: with two hours available, what should our team check next?

A citizen records what they saw, where and when they saw it, and how certain they are. The coordinator sees verification priority separately from evidence strength, with the reasons behind each suggestion.

The Field planner selects visits within the available time. Change the budget and the selection changes. Every selected or deferred site has an explanation. Restricted locations and serious warning signs stay out of routine volunteer plans. The planner allocates estimated work time; it does not calculate a walking route.

The plan becomes assigned tasks with owners, dates and recorded results. A coordinator reviews the case and records the response. The case cannot be resolved until a recheck created after action began is completed with a result.

Rill also supports private workspaces, coordinator and volunteer roles, mobile drafts, photographs, validated CSV/JSON imports, and JSON, CSV, GeoJSON and experimental FHIR R4 exports. Historical decision snapshots preserve the rule version and reasons used at review.

Our primary fit is Track 2: Data-to-Insight. The insight becomes a concrete decision about what to verify and who should follow through. Habitat, animal contact and human use stay connected to the evidence. Visual observations do not establish toxins, pathogens or water safety.

How we built it

The interface uses React and TypeScript. A Hono API enforces the workflow, permissions and tenant boundaries. The public application runs on Firebase Hosting, Cloud Run and PostgreSQL on Cloud SQL. SQLite and libSQL support a low-cost local setup. New workspaces start empty; the instant demo creates a private workspace containing six fictional sites and clearly labelled synthetic reports.

The decision engine uses published, versioned rules. An exact budget allocator chooses at most one eligible visit per site while respecting the time constraint. Tests compare its selection against exhaustive enumeration on small cases. The core needs no paid AI key and sends no observations or photographs to an external language model.

Validated requests, role checks, duplicate-submission protection, conflict detection and atomic writes protect the workflow. Single-use offline recovery keys are stored as hashes. Recovery replaces the passphrase and key and revokes previous sessions.

Created and led by Shivam Gupta, with AI-assisted research, design, implementation and testing. The demo uses a clearly disclosed OpenAI-generated narrator, not an imitation of Shivam's voice. Third-party tools and sources are credited in the repository.

Challenges we ran into

Making uncertainty useful. A high-priority report can have weak evidence. Separating verification priority from evidence strength makes uncertainty a reason for the next check.

Planning responsibly. Several reports can describe one place. Rill plans once per eligible site, explains what waits and keeps unsafe work out of routine volunteer assignments.

Proving follow-through. A completed task can predate the response it supposedly verifies. The interface and API enforce the order of action and recheck.

Making deployment dependable. Firebase cookie forwarding, concurrent PostgreSQL transactions and shared proxy limits needed explicit handling. A real browser rehearsal also caught a rapid-typing autosave bug that ordinary form-fill tests missed. We fixed it and added a regression.

Accomplishments that we're proud of

A judge can open the hosted app and complete the entire report, plan, review, action and recheck workflow without a shared password.

The release passed 86 automated checks with SQLite and 86 with libSQL, plus 53 targeted PostgreSQL checks. Hosted tests cover the lifecycle, account recovery, imports, mobile drafts and permissions between workspaces. A session and its records survived a Cloud Run revision. A logical backup restored into a disposable database with matching table contents and schema, followed by constraint and rollback checks.

These are software checks, not scientific or field validation. The verification record states the exact scope and remaining limits.

What we learned

The scarce resource is often the coordinator's attention. Useful software must reduce the work between receiving a report and knowing what happened next.

OneAquaHealth already offers collection, dashboards and decision support, while tools such as Cartographer support environmental monitoring and review. Rill's proposed niche is the combination of explained choices under a time constraint and a required action-and-recheck record. That differentiation needs testing with real teams.

A score cannot establish water safety, and a closed task cannot prove ecological improvement. A pilot should measure both coordination value and the quality of the decisions it supports.

What's next for Rill

An eight-week supervised pilot with one river or catchment monitoring programme, alongside its established protocols. An environmental professional should review the prioritisation policy. We would measure coordinator time per case, assignment delay, completed rechecks, missed priorities and volunteer burden. Routine monitoring of sites without reports also needs a deliberate place in that pilot.

The first buyer hypothesis is the organisation coordinating the work. Volunteers contribute free. A proposed managed service at €149 per programme per month would support hosting, coordination tools and assistance. An illustrative €50 monthly delivery budget leaves €99 before development, sales, taxes and fixed overhead. Pricing, costs and willingness to pay remain assumptions to test.

Further work includes partner import compatibility, additional coordinator roles and expert review of interoperability. The FHIR R4 mapping is experimental. No customers, pilot partnership or measured environmental benefit is claimed today.

Every useful stream concern deserves a visible, checked outcome.

Testing instructions

Open rill-streams.web.app and choose Explore the live demo. Each demo has its own synthetic workspace. No password or API key is needed.

  1. Open Field planner. Compare 120 minutes with 60 minutes and inspect the selected work and deferral reasons. Leave this plan unassigned for the walkthrough below.
  2. Create a New observation at Riverside playground, select Litter and add a note beginning with Synthetic test.
  3. Open that report, choose Review & respond, add a coordinator note and mark it reviewed. Add another note and mark action underway. Resolution should remain disabled.
  4. Create a Recheck after action task, start it, enter a fictional test result and complete it. Add a decision note, then choose Resolve after recheck.
  5. Inspect Decision trail. In Impact & evidence, download JSON or the experimental FHIR bundle.

To test assignment, open a fresh demo, confirm safe access in the planner and choose Assign this plan. To test persistence, create your own empty workspace, save its recovery key privately, add a site, sign out and sign in again. Email ownership is not verified and recovery does not send email.

Detailed testing and recovery instructions

Share this project:

Updates

Submission history