Inspiration
I travel a lot throughout Texas and I noticed that tap water always tastes different in different cities. Looking up water information and safety has always been a hassle since that information is buried in city government websites and archives, and each city gets to decide how they want to present their findings. I wanted to bring all this data together so it would be easier to look at city water quality reports throughout the years and compare them with other cities in Texas.
What it does
Crystal Clear is an application that displays data found in annual water quality reports in many different forms. You can look at all the data from a city, look at how their water has changed across a range of years, and compare different cities' water quality. You can narrow the focus to one or a handful of contaminants, such as lead, or show everything at once. Furthermore, there's an option that lets you highlight water impurities that exceed the federal guidelines set by the Safe Drinking Water Act (SDWA) in 1974.
How we built it
I used Streamlit to create this application. It seemed like the best choice because I was working with a lot of data that I wanted to manipulate and plot. I coded everything in Python on VS Code using Ubuntu terminal to run and test the program. I compiled my data on Google Sheets and converted everything into a csv to create a dataframe.
Challenges we ran into
I have never built any application before, and I've never used Streamlit either. I learned how to use the resource through Streamlit's tutorials and then created by project by learning and practicing small parts at a time. I was also a solo ensemble, so I was limited in how much data I could collect from government websites. Because there is no standardized system for publishing municiple reports, there were cities that left out data that other included or reported them with different metrics. I had to sort through everything and find common elements in the report to use in my app.
Accomplishments that we're proud of
I was really proud of the organization of the app. I wanted users to be able to have a variety of ways to see the water quality data, and I did that using a drop down box and an if-else statement to provide navigation. There are three "modes" based on how the user wants to see things. Normal mode is just the data on a chart, and the next two modes illustrate trends through graphs.
What we learned
I learned how to make an app! It was my first one, and it took a few hows before I felt comfortable with my environment, setup, and Streamlit knowledge, but working little by little I made something functional and useful. I learned there's a lot I can get done in 24 hours when I put my mind to it.
What's next for Crystal Clarity App
There is so much room for improvement in the Crystal Clarity App, and there is a vacancy in the market for the type of services it provides. I want to expand the pool of data I use in the app, adding more cities and more years worth of archived reports. I would like to use a database instead of a csv to expand the capacity. Furthermore, there are more features I want to add to this app. I want to add some mathematical calulations comparing federal requirements to city data. I want to add a page dedicated to just federal allowances and perhaps another for water safety resources. There are more ways this project can grow, and I look forward to it.
Log in or sign up for Devpost to join the conversation.