The problem

A volunteer notices that a stream looks different and takes a photograph. An expert needs more than an alarming image: a usable view, comparable conditions and a record of what the person actually observed. A confident diagnosis from pixels would hide that uncertainty.

Streamproof instead asks for the next useful observation.

The solution

Upload a photograph, adjust its water region and confirm the selection. Streamproof checks detail, exposure, bright reflections and the usable area. When a previous observation from the same site is available, it aligns repeat views using features outside the water and checks whether the comparison is usable.

A blurred image stops at a retake request. A broad lighting change leads to a request for matched light. A local appearance difference that survives those checks leads to closer and upstream photographs with context. The interface shows the measurements and decision trace, so the request is inspectable rather than mysterious.

An operator records an assessment. Persistent evidence includes source fingerprints, the chosen region, results and linked audit events. JSON and GeoJSON exports preserve the record; a separate verifier checks its consistency. Location can remain absent. A local hash chain does not establish capture authenticity, verified location or an external timestamp.

How it works

OpenCV 5 performs image-quality measurements, ORB bank-feature matching, RANSAC alignment, masking, histogram comparison and Lab-distance measurements. A Python/FastAPI service stores evidence in SQLite and serves a responsive browser workspace. The next-step policy is deterministic and driven by actual measurements. It is not an LLM agent, and it does not contact authorities or operate an external device.

Twenty-four local tests exercise real image decoding and OpenCV processing, HTTP uploads, persistence, invalid context, cross-site rejection, review, exports, tamper detection and optional authentication. The recorded demonstration's exported packet passed a separate verifier with five observations and six linked audit events. No hosted CI success or cloud runtime is claimed.

What the demonstration establishes

The film begins with a historical CC0 photograph and then uses explicitly labeled programmed controls. A deliberate recoloring makes about 67% of overlapping comparison pixels exceed the display-distance threshold and triggers a closer-view request. A lighting control changes that request to matched light, while blur triggers a retake. These show functioning pipeline branches; they are not measurements of pollution or environmental accuracy.

The recorded review is labeled “Demo operator (AI-assisted).” It demonstrates saving an assessment of the programmed recoloring, not a human field investigation.

What I learned and what comes next

The useful result is sometimes a request for better evidence, rather than another number. Keeping that behavior connected to measurements, persistent records and an inspectable explanation was the central design challenge.

Before field use, the workflow needs repeated photographs across weather, lighting and devices, expert annotations and reported false-change and missed-change rates. Image differences are not pH, turbidity, nutrients, pathogens or safety. The water rectangle is selected by a person; thresholds remain engineering heuristics. No field calibration, adoption or ecological benefit is claimed.

Originality and credits

Built from scratch on September 21, 2026 with substantial OpenAI Codex assistance. Original application code and programmed controls are MIT licensed. Historical photographs by Gary Houston and Dave Meier are CC0 and linked in the repository. Dependencies keep their own licenses. The film uses stock synthetic narration and real prototype footage with explanatory holds; it does not invent an application result or field observation. The media assembler adapts the author's MIT-licensed Counterseed video helper; application code is original and separate.

Source, demonstration and resources

Source and local setup · 196-second demonstration · Architecture · Evaluation and limits · Media sources and licenses

Historical River Ver photograph: Gary Houston, CC0, https://commons.wikimedia.org/wiki/File:River-Ver-20050409-012.jpg. River Liffey photograph: Dave Meier, CC0, https://commons.wikimedia.org/wiki/File:River-liffey.jpg. The repository documents the official preview used.

Prior work and submission disclosure

Original September21,2026 build, also prepared for potential OneAquaHealth/OpenCV opportunities; eligibility and integration questions are pending and neither is a completed entry. Practice to Create presents the same original prototype. No AWS execution is claimed.

OneAquaHealth IEEE Global Hackathon note

Healthy waters, healthy ecosystems, healthy communities: Streamproof helps community observers turn a quick stream photo into an inspectable water-observation record (with explicit uncertainty and a retake prompt) and a concrete next request to the people who can act, which supports SDG 6 (clean water) and a One Health view where water, ecosystem and community health are linked. It does not claim to measure water quality or diagnose health risks; all analysis is visual evidence with stated limits.

Disclosure for judges: solo student entry (Touko Ursin). The project was built from September 21, 2026, inside this hackathon's September 16–30 window. I registered on Devpost on September 22, after the August 31 registration date listed in the rules; I leave eligibility to the organizers. The same project is also entered in Practice to Create, which explicitly permits cross-entry.

Built With

Share this project:

Updates

Submission history