We take water quality for granted in the US, but there are many places in the country where toxins in the water exceed safe levels. Here in DC, when the potomac floods, sewage floods into the river, and the water becomes undrinkable. Lead pipes are scattered throughout the city, and leech into the water when the water system is flooded with chloramine. While residents often learn about water safety at home, it's difficult to find out about hazards when traveling.
The disaster in Flint Michigan has brought attention to water safety. But the Flint story didn't gain national attention until December of 2015, even though the EPA cited major violations in Flint's water system months earlier. Going to the EPA's website and navigating their complex maze of datasets isn't something the average American has the time to do, but the data is something they need to be safe, whether at home, or when traveling. Imagine if the residents of Flint, and visitors to Flint, had water safety data at their finger tips.
What it does
WellSpring is an Android app that uses gps to report on water quality near you, using EPA and crowd-sourced data. It provides recommendations for users to protect themselves, given the water quality violations reported by local water systems through the EPA API. The application provides recommendations for water purification devices, as well as a set of tests that users can purchase to test their home water quality. Users can then add their test results to the database. This will eventually create a more detailed, neighborhood-level database about water quality and contamination. Crowd-sourced and EPA water tests are displayed on Google Maps.
How we built it
WellSpring was built in Java using Android-Studio. The database is hosted by Amazon Web Services. We scraped and parsed data from the EPA API, as well as additional EPA and state-level documents and sources. We also used the Zippopotam.us API to geocode the data, (in order to populate the database without running into the Google Maps rate-limiting). Tests and detailed information are displayed on Google Maps, along with general recommendations. In addition, users can purchase water quality tests (from Amazon) and use the app to contribute to the database.
Challenges we ran into
The EPA API documentation does not describe field values, which are often represented as numbers rather than descriptive strings. For example, contaminants are listed by their code, and are described in a separate dataset, but the contaminant dataset does not include reference to the code number, which prevents merging of the data. We had to go down to scanned state-level reports in order to reconstruct contaminant and violation codes in order to create a meaningful database, and make meaningful recommendations.
The guest internet connection was insufficient to continuously query the API and post to the database. We had to learn how to run the code off an Amazon Server in order to fill the database.
Accomplishments that we're proud of
We managed to create a final, usable, product. While there is room for improvement, the app as it stands can already help people by proving them with reliable, up to date information about water safety near them. It takes complex and opaque data and makes it easy to use. The data in the EPA API mostly consists of codes with no keys, making it difficult for non-experts to use. We distilled important takeaways that anyone can use to protect themselves.
What we learned
Two of our team members were unfamiliar with Java, and had to learn on the fly. No one on the team had ever built a database on Amazon, or built a complete app. Everyone on the team learned a new skill to contribute to the whole.
What's next for WellSpring
We will contact the EPA to ask some questions about the data fields in order to provide more nuanced information within the app. Right now, we make general recommendations about how to handle categories of contaminants. By having more detailed information about contaminants, we can make more specific recommendations about, for example, how long to boil water (i.e. 3-minutes or 10-minutes), whether iodine tablets will kill pathogens in the water, and which filters are certified to remove chemicals in the local water system.