Personas
P1 — Dr. Maya Okafor, Marine Debris Researcher (primary)
University researcher studying debris flux from urban rivers into the coastal ocean. Comfortable with data, allergic to spending weeks stitching satellite scenes to beach survey spreadsheets. Wants queryable, fused, provenance-preserving datasets.
P2 — Luis Herrera, Coastal Environmental Scientist (primary)
Works for a county environmental department monitoring the San Pedro Bay shoreline. Needs post-storm situational awareness fast, and defensible evidence ("confirmed, not guessed") for where debris accumulated when justifying cleanup spend.
P3 — Sam Whitfield, Cleanup NGO Operations Lead (downstream)
Dispatches volunteer crews after storm events. Doesn't care about spectral indices; cares about "where do I send 40 people on Saturday morning."
Downstream beneficiaries not personified for the MVP: municipal stormwater managers (MS4 reporting) and port authority operations (harbor hazard awareness).
Story Map
Epic E1 — One dataset instead of five silos
| ID | Story | Priority | MVP | Acceptance |
|---|
| US-01 | As Maya, I want satellite debris detections, agency surveys, and citizen reports normalized into one schema, so that I can analyze across sources without manual joining. | Must | ✅ | AC-4.1, AC-4.3 |
| US-02 | As Maya, I want every normalized record to keep its raw source payload, so that I can audit and cite the original data. | Must | ✅ | AC-4.3 |
| US-03 | As Luis, I want re-running ingestion to be safe (no duplicates), so that refreshing data never corrupts the record. | Must | ✅ | AC-4.2 |
| US-04 | As Maya, I want citizen-report free text turned into structured fields with ambiguity flagged, so that messy reports become usable without becoming misleading. | Must | ✅ | AC-3.2, AC-3.3 |
Epic E2 — Detection you can trust
| ID | Story | Priority | MVP | Acceptance |
|---|
| US-05 | As Maya, I want Sentinel-2 scenes for my region scored with the Floating Debris Index, so that I get debris candidates without doing remote sensing myself. | Must | ✅ | AC-1.1, AC-1.2 |
| US-06 | As Luis, I want satellite detections cross-referenced against ground reports into confirmed vs. suspected zones, so that I can act on evidence, not pixels. | Must | ✅ | AC-5.1, AC-5.2 |
| US-07 | As Luis, I want detections limited to water (no land false alarms), so that the map stays credible. | Must | ✅ | AC-1.3 |
| US-08 | As Maya, I want the satellite adapter to be source-agnostic, so that we can switch to Copernicus Data Space credentials later without rework. | Should | ✅ | AC-1.5 |
Epic E3 — Map-first exploration
| ID | Story | Priority | MVP | Acceptance |
|---|
| US-09 | As Luis, I want a map showing confirmed / suspected / reported zones around the LA and San Gabriel River outlets, so that I see the whole picture at a glance. | Must | ✅ | AC-6.1 |
| US-10 | As Luis, I want to flip between pre-storm and post-storm windows, so that I can see what the storm changed. | Must | ✅ | AC-6.2 |
| US-11 | As Maya, I want to click any zone or observation and see its evidence and provenance, so that I can drill from picture to proof. | Must | ✅ | AC-6.3 |
| US-12 | As Sam, I want the map to state plainly which data is live and which is sample data, so that I never mistake a demo layer for operational truth. | Must | ✅ | AC-6.4 |
Epic E4 — Ask the ocean
| ID | Story | Priority | MVP | Acceptance |
|---|
| US-13 | As Luis, I want to ask questions like "what changed at the San Gabriel outlet after the storm?" in plain language, so that I don't need query syntax. | Must | ✅ | AC-7.1, AC-7.2 |
| US-14 | As Maya, I want the assistant to say "insufficient data" instead of inventing an answer, so that I can trust what it does say. | Must | ✅ | AC-7.3 |
Epic E5 — Briefings
| ID | Story | Priority | MVP | Acceptance |
|---|
| US-15 | As Luis, I want an auto-generated post-storm briefing comparing the event window to baseline, so that I can forward one document instead of writing one. | Must | ✅ | AC-8.1, AC-8.2 |
| US-16 | As Sam, I want the briefing as a shareable PDF, so that field coordinators without the app can use it. | Should | ✅ | AC-8.3 |
Post-MVP stories (backlog, not built in POC)
- As a municipal stormwater manager, I want MS4 monitoring PDFs extracted into discharge records linked to downstream detections. (Roadmap item 1)
- As Sam, I want drift forecasts showing where a detected patch will travel in 48h. (Roadmap item 2)
- As Maya, I want an ML classifier trained on MARIDA labels to cut FDI false positives. (Roadmap item 3)
- As Luis, I want alerts when post-storm detections spike in my region. (Roadmap item 5)