Inspiration

Environmental harm is often spotted by people on the ground — dumping, smoke, flood water, damaged habitat, injured wildlife — but the path from “I saw this” to “someone is handling it” is broken. Reports live in chats: a photo with no reliable pin, no severity, no owner, no handoff to field help.

EarthRelay was built to close that gap: one case file that links detection, investigation, and response for citizens, organizations, staff, and volunteers.

What it does

A citizen uploads a site photo, confirms live GPS, and can add a phone for critical callbacks. The backend runs vision and investigation (YOLO on CPU, Gemini when configured), reverse-geocodes the pin, and attaches weather/context. The case is auto-routed to a response inbox (for example fire, water, wildlife, organization). Org officers take the case, assign response, and dispatch. Volunteers see field tasks (map pin + street address) without the citizen’s private contact details unless the org grants that access.

How we built it

  • Backend: FastAPI (Python), Uvicorn, YOLO detection, routing, cases, staff, volunteers, mail
  • Frontend: React + Vite, role-based pages (citizen, org desk, staff, community)
  • Maps: Mapbox when a token is set; otherwise OpenFreeMap, plus public hazard layers
  • Deploy: One Docker image on Railway serving the API and the built UI

Source: this GitHub repository.

Challenges

Getting a trustworthy GPS pin on phones (browsers block geolocation on plain http:// LAN addresses, so HTTPS / localhost matters). Keeping volunteer views limited so citizen phone/name are not exposed by default. Running detection on CPU in a single production image. Wiring four roles into one app without separate backends.

What we learned

A usable environmental report needs more than a photo: a pin, severity, an owner, and a safe handoff. Role-based access is as important as the AI. Shipping one live URL with four entry paths is simpler for operators than four separate products.

What it does

EarthRelay turns a field photo + live GPS into a structured environmental case, then moves that case through the people who act: citizens, organization desks, staff, and volunteers.

The citizen files. Vision + investigation attach scene, severity, place, and weather. The case is auto-routed. Officers take it and assign response. Volunteers get a field task with a map pin and street address — not the citizen’s private phone or name unless the org grants that.

Live doors:

How we built it

One product, one Docker image, four roles.

  • FastAPI + YOLO on CPU for detection; Gemini when configured for scene/severity
  • React + Vite desks for citizen, org, staff, and volunteer
  • Auto-routing into response inboxes (fire, water, wildlife, organization)
  • Maps with OpenFreeMap (or Mapbox), plus public hazard / wildlife layers
  • Railway HTTPS so phone GPS actually works

Challenges we ran into

Browsers kill GPS on http://192.168… — the live app had to be HTTPS. Volunteers must never see citizen contact by default. Detection had to run on CPU in a single production image. Four roles in one app means one leak breaks trust.

Accomplishments that we're proud of

We did not ship a chatbot. We shipped a working response wire.

  • A live public product, not a local-only prototype
  • Four real entry paths on one host
  • A case file with pin, severity, owner, and field handoff
  • Volunteer privacy built in, not added later
  • CPU vision inside the same image that serves the UI

What we learned

A usable environmental report needs more than a photo: a pin, severity, an owner, and a safe handoff. Role-based access is as important as the AI. One live URL with four doors beats four separate products.

What's next for EARTH RELAY

EarthRelay is built to become the operating system for environmental response.

Next on the wire

  • Offline-first capture: photo + pin with no signal, sync when the phone reconnects
  • Multilingual in, structured case out — rural language to a national desk
  • Trust scoring: duplicate photos, GPS spoof checks, junk-case filters
  • A public response clock: filed → taken → on scene, visible to the citizen

Next at scale

  • Satellite and drone corroboration: if the pin sits in a burn scar, flood, or clearing, the case auto-upgrades
  • Cross-border desks: a river or wildlife case that does not die at the boundary
  • Verified responder network: trained NGOs and volunteers with credentials, not a group chat
  • Evidence packs for rangers and prosecutors: timestamp, pin, weather, chain of custody

The aim is simple: seeing harm should be enough to start a real response. EarthRelay is the wire that carries it.

Built With

Share this project:

Updates

Submission history