Inspiration

People in Norfolk live with constant flood uncertainty — tides rise, storms hit, and there's no simple way to check if your specific location is at risk right now. Flood data exists across scattered government websites (NOAA, NWS, USGS) but it's raw, technical, and disconnected. You built TideWatch to combine all three sources into one instant, location-specific risk grade that anyone can understand and act on.

What it does

Users click a spot on the map or pick a Norfolk neighborhood and instantly get an A–F flood risk grade based on live NOAA tide levels, NWS weather, and USGS elevation data — plus a 48-hour tide forecast and actionable safety recommendations.

How I built it

Python/FastAPI backend pulling live data from 3 federal APIs (NOAA tides, NWS weather, USGS elevation) in parallel, feeding a weighted risk engine. React/Vite frontend with Leaflet maps and Recharts for tide visualization. Deployed on Vercel + Render, all free tier.

Challenges I ran into

CORS errors in production — preflight requests kept failing silently until we dug into Render logs Render free tier cold starts causing "failed to fetch" on the frontend NWS weather API returning random 404s requiring fallback logic Deploying a full-stack app across two platforms (Vercel + Render) with correct proxy routing and environment variables

Accomplishments that I'm proud of

A fully deployed, working app — not a mockup — using only free APIs and free hosting, that gives real location-specific flood risk scores from live federal data. Built and shipped the entire full-stack product in a single hackathon.

What I learned

Working with federal open data APIs (NOAA, NWS, USGS) — powerful but unreliable at times Shipping to production is a completely different challenge than running on localhost — CORS, cold starts, and environment config all broke things Showing progress to users matters as much as actual speed

What's next for Tide watch

Address geocoding so users can type any address, not just preset locations SMS flood alerts via Twilio (backend already scaffolded) Historical flood map overlays showing past events Expand to other coastal cities — the architecture just needs a different NOAA station ID

Built With

Share this project:

Updates