On a daily basis, communities of people in 3rd world countries and even the US do not know if they are drinking clean water.

The numbers tell the story quite clearly: 1 out of 10 people in this world drink dirty water regularly-- the World Economic Forum does a meta-analysis in 2015 finding that health risks associated with water should be a number 1 concern, and hundreds of millions of people in 3rd world countries and impoverished places are forced to deal with these circumstances.

What if we had some way of reaching out to these people? Some way to allow them to see if their water is safe?

Since so many of these people do not have access to smartphones or 3G/4G networks, we’ve created an SMS line that allows users to text a simple picture of their water to the number to test if it it’s clean or not.

These people also need to buy products like filters, but they have a lack of access to that in their everyday marketplace. They also can’t buy direct from eBay or Amazon because of the lack of stable internet access. That’s another place where this SMS line comes to the table: users can order water filters and supplies right off of the SMS line.

We’ve also created an Android app with the same functionality.

There’s no other app out there that even attempts to solve this problem-- we are proud to hopefully bring a new, innovative, way of addressing this issue that deserves more of our attention.


In order to determine whether water is clean or not, we used a transform found in image processing called Haar Wavelets. Wavelets uses high and low frequency band pass filters to create four different frequency domain images. The high frequency band pass filters create an images that are based on the detail coefficients (features) of the image, whereas the low frequency band pass filters create images that are based on the approximate coefficients (general trend) of the image. Pure images (without impurities) generally have consistent pixel values in both the high band pass filter and low band pass filter. Standard deviations were calculated of the different images to determine whether they were clean or not. High standard deviations indicated greater chance of impurity, whereas low standard deviations indicated less chance of impurity. This algorithm was custom developed for this project and runs in linear time (takes around 1 second).

To confirm the accuracy of the algorithm, we trained a IBM machine learning vision classifier algorithm on the idea whether something had clean water or not. This returned generally similar results (>80%), but was not used in the app due to the slow processing time of the algorithm (around 5 minutes per call).


SMS Clean Future: Four Parts

1. SMS Messaging SMS Messaging was done by using the Twilio API. A Java Server was used to receive send and messages through text message.

2. Haar Wavelet Algorithm The Haar Wavelet algorithm was used to determine whether water was clean or not by receiving images from the user. These images could be taken anywhere.

3. eBay API People in developed countries often do not have access to the internet to acess sites like Amazon and eBay. Our app provides a semi-functional way of buying water purification products and filters through SMS through the eBay API.

4. Nearest Location Our server stores a database of all locations where there is clean water. If someone’s, water is not clean, they can use SMS to determine the closest location. The closest location was found using Google Maps API and the location was provided by the Twilio API.


Our Android app functionality is quite similar to the SMS line. We used android app studio to construct this app. Our android app provides user in developed countries to determine whether water is clean in a easy and user-friendly way. This was not the primarily goal of our project.

Accomplishments that we're proud of

We are proud to be the first app that allows people to check whether their water is clean or not. Even if the app is not 100% accurate, it is the first step in the right direction!

What we learned

This is our first time using servers and integrating multiple APIs in a single app.

What's next for Clean Future

We plan to continue to work on making our algorithm more accurate and provide more functionality to the eBay API.

We are excited for the future of Clean Future!

Share this project: