The specific problem and how we know it's real:

Coastal response coordinators need to connect reports of damaged access points, storm debris, and other hazards with people who have the equipment and capacity to help. NOAA documents how debris damages coastal habitats. South Carolina's Department of Natural Resources reports that marine volunteer programs face fieldwork and staffing constraints; its oyster-shell transport program supplies trailers but requires volunteers to provide vehicles. These sources establish environmental and logistical challenges, not a proven failure of existing coordination tools. Sapelo Island is our prototype's reference setting. We have not conducted resident interviews or demonstrated real-world demand.

What our solution does and how it works:

We brought an existing MIT-licensed Tidewater codebase online with a fresh Supabase database and a Vercel deployment. Our setup work included making photo AI optional, repairing an isolated test, configuring storage and authentication, and verifying the sample-data interface. A resident-facing reporting flow accepts photos and location information in code. The deployed demonstration currently lets judges explore 68 synthetic reports, eight volunteer pods, and 48 work orders. Coordinators can browse hazards, inspect report and job details, view mapped locations, and examine analytics. Pods represent capabilities such as boating, debris clearing, and dock carpentry. The routing screen explains deterministic ranking: staffed pods first, then workload per person, job count, and assignment history. Automatic crew assignment is disabled in this deployment. The directory connects sample volunteers with capabilities and offered equipment while masking contact details in the demonstrated session. Community Pulse uses a separate illustrative dataset, not measured community outcomes. Guest sign-in has been tested, but we have not verified a complete real-photo submission or the saved assignment-to-completion workflow. Ordinary Audit-grid cell edits are local-only.

What we built it with:

The application uses TypeScript and JavaScript with Next.js 16, React, and Tailwind CSS. Supabase provides PostgreSQL, PostGIS, authentication, and object storage; Vercel hosts the deployed site. MapLibre GL and deck.gl render maps, AG Grid powers the Audit table, and Zod validates inputs. The code includes IndexedDB-based offline queuing, Open311 JSON/XML routes, and NOAA/National Weather Service enrichment. Those broader integrations have not all been verified through a submitted report. Gemini classification remains unconfigured, and external notification delivery is disabled. We used Codex for setup and test work; it is a development assistant, not the app's operational AI service. Verification used Vitest, Playwright, Biome, and TypeScript checks.

Challenges:

A missing AI key originally prevented database-backed features from initializing. We separated optional Gemini configuration from required database settings and added tests for the unavailable-classifier path. Database setup also encountered a Supabase-managed storage-table ownership restriction. We confirmed that row-level security was already enabled there and applied the storage policies without editing the source migrations. A disabled-chat test timed out while importing unrelated dependencies; isolating those dependencies allowed the full unit suite to pass. Our interface review also exposed limitations: some seeded photos and AI reasoning panels are unavailable, default date filters hide older sample reports, and the fallback image-blurring algorithm can miss centrally positioned faces. Private raw storage and access policies do not eliminate that privacy gap.

What we'd do next:

First, resolve the blur limitation and broken sample-photo references, then verify real-photo reporting, offline synchronization, and authorized staff actions on actual phones. Configure and evaluate Gemini with labeled coastal examples and human review before enabling automated assignment. Complete notification and retention setup, connect GitHub deployment access, and reconcile Pulse with the operational dataset. Finally, test the workflow with coastal volunteers and coordinators, including people using assistive technology or unreliable connections. Measure task completion, routing errors, and workload distribution before making claims about speed, safety, cost, or environmental impact.

Built With

Share this project:

Updates

Submission history