Inspiration
I am an international student from Nepal, and I have been in the United States for about two years now. One of the first things that shocked me when I came here was learning about the Flint water crisis and then discovering that Toledo, the city where this hackathon is happening, had its own water emergency in 2014 where half a million people could not drink tap water for three days. Coming from a country where access to clean water is a daily concern for millions of people, these stories hit differently. What struck me was not just that these crises happened in one of the most developed countries in the world — it was that the data to detect them early already existed. USGS sensors, EPA violation records, water quality assessments. All public. All free. Nobody had connected them in a way that regular people could actually use. That is what inspired Watershed.
What it does
Watershed is a water safety monitoring platform. You type any location on Earth, and in about 15 seconds it pulls real data from three US government databases simultaneously, analyzes everything with Claude AI, and generates a plain English risk report that anyone can understand. The report includes a risk score from 0 to 100, a color-coded circle on a satellite map showing the contamination level, clickable markers for upstream industrial facilities and their EPA violation history, key findings, the primary threat, and recommended actions. You can download the report as a PDF, subscribe to email alerts for that location, and share a link to the report with anyone.
How we built it
The backend is Python with FastAPI. API calls to USGS and EPA run in parallel using asyncio so the response stays fast. The frontend is vanilla HTML, CSS, and JavaScript with Mapbox GL for the satellite map. Claude Opus from Anthropic handles all the AI analysis. EmailJS handles the working email alert system. The whole thing is deployed live on Railway. The three real data sources are USGS Water Services for live sensor readings, EPA ATTAINS for state water quality assessments, and EPA ECHO for industrial facility violation records. The US Census geocoder converts coordinates to ZIP codes so we can query EPA facility data for any location in the country .
Challenges we ran into
The hardest challenge was making risk scores meaningful with real data. Real-time USGS sensors measure current water conditions, not historical contamination. A place like Flint might show a low real-time score because there is no active discharge event today, even though the underlying risk from aging infrastructure and ongoing violations is very real. I solved this by having Claude AI incorporate both the real-time sensor data and the full EPA violation history into its analysis, so the report reflects the complete picture rather than just a single number. Getting the EPA ECHO API to return facility data was also surprisingly difficult. It requires a two-step query process and has very strict parameter requirements. It took several hours of debugging before it started returning real results consistently. Early on I also hit API quota limits with other AI providers which forced me to switch to Claude from Anthropic. That turned out to be the right call — the quality of analysis Claude produces is noticeably better and more detailed than anything else I tried.
Accomplishments that we're proud of
The thing I am most proud of is that this is not a demo with fake data. Every risk score comes from real government sensor networks. Every facility shown on the map is a real company with real EPA violations. Every AI report is generated fresh by Claude based on actual data pulled at the time of the request. I am also proud that it works for any location in the United States, not just a handful of hardcoded cities. The Census geocoder and parallel API architecture means you can search any town or river and get a real report back. Building a working email alert system, PDF download, and live deployment all within 24 hours while also making sure the underlying data pipeline was solid — that felt like a real accomplishment.
What we learned
I learned that there is an enormous amount of valuable public data that is completely inaccessible to regular people because it lives in technical government databases with no user-friendly interface. The gap between the data existing and people being able to use it is where the real opportunity is. AI closes that gap. I also learned that Claude is genuinely impressive at synthesizing multiple data sources into coherent, contextual analysis. The reports reference specific facility names, violation counts, and historical risk factors in a way that reads like it was written by someone who actually understands environmental science. On the technical side, I learned a lot about building resilient systems with graceful fallbacks. When one data source fails or returns nothing, the system does not break — it falls back to the next best available source. That kind of defensive architecture is what makes a real product different from a hackathon demo.
What's next for Watershed - Water Safety AI
The infrastructure is real and working. The most immediate next step is building automated alerts that actually trigger when sensor readings spike above normal levels rather than requiring someone to manually subscribe. After that I want to add international water quality data sources. Nepal, where I am from, has serious water quality problems and almost no public monitoring infrastructure. The same architecture that works for US government APIs could connect to international datasets and bring this kind of visibility to places that need it even more. The longer term vision is making Watershed a platform that environmental organizations, municipal water authorities, and concerned citizens can all use — a single place where water safety data becomes something anyone can understand and act on.
Built With
- asyncio
- css-frameworks-fastapi
- emailjs-libraries-reportlab-(pdf-generation)
- environment
- epa-attains-api
- epa-echo-api
- github-apis-usgs-water-services-api
- html
- javascript
- languages-python
- pydantic-tools-git
- python-dotenv
- requests
- us-census-geocoder-api
- uvicorn-ai-claude-opus-(anthropic-api)-map-mapbox-gl-js-deployment-railway
- virtual
Log in or sign up for Devpost to join the conversation.