Our HackDuke 2020 project focuses on the Energy and Environment track (non-beginners), specifically on the topic of water waste caused by leaky sinks. During our team’s brainstorming session, we had narrowed down our project’s overall purpose to address some form of resource waste or overuse. Some of the ideas we brought up included reducing carbon footprints from transportation and tracking food waste produced by restaurants.
While deep in thought, one of our team members happened to realize that he had left his faucet running in the bathroom. At that moment, it struck us. Why don’t we target the issue of water waste? Running water in our homes is a resource that many of us take for granted, and we don’t realize just how much of it actually goes to waste due to leaks. In fact...
Every year, nearly 900 billion gallons of water are wasted by U.S. household leaks. That's enough water to fill 40 million swimming pools and 24 billion bathtubs! Actions to help reduce water usage could potentially save 100 million kWh of electricity per year It would also prevent the emission of 80,000 tons of greenhouse gases
Instead of waiting and paying for the expensive and time-consuming process of cleaning and filtering used water from homes, our team decided to create a solution that would address the problem at its root cause: the leak itself.
What It Does
Our project is titled Sink Saver, a hardware-based solution that aims to reduce the amount of water wasted in households by leaky faucets. We targeted leaky faucets since they are a huge contributor to the amount of water wasted by households, with just one faucet leaking up to 347 gallons of water per year. Sink Saver works by using a camera sensor to monitor the flow of water from a faucet, sending text alerts to a user's phone whenever it detects that the faucet has been left running or dripping water. This reminds and encourages the user to be more conscious of their water usage, helping them reduce their overall water waste and improve the environment.
How We Built It
Our project's prototype is built with an Arduino. A disassembled GoPro Hero 4 camera attached to the Arduino captures a recording of the user using their sink in realtime and sends it to Sink Saver’s Flask app hosted on Heroku. The back-end portion has a machine learning model that we created using the Google Cloud Vision API which detects the presence of a sink, flowing liquid/fluid, and a user’s hands. When the model senses that the faucet has been left running or there is a constant drip over an uninterrupted period of 10 seconds, the Flask back-end will send text alerts to the user’s phone notifying them of the wasted water. To do this, we utilized Twilio’s REST API and tested it by sending SMS notifications to one of our team member’s phones whenever the model detected a leaky or unattended running faucet.
Challenges We Ran Into
One of the biggest challenges we encountered while working on this project was actually coming up with the idea itself. We knew we wanted to focus on the Energy and Environmental track, yet it was difficult to think of a project that would create a big impact while also being implementable in the time given. Part of the reason was that not everybody was able to be on our Discord chat at the same time, so it was difficult to hear and discuss everybody's ideas at the same time. Another challenge we encountered took a chunk of time out of our development process and was actually quite strange; one of our developers had his Google Service Account credentials harvested by a third party and used for mining cryptocurrency. This resulted in his account being suspended and our team being unable to use the Google Vision API that Sink Saver greatly depends on for its detection of water flow. It was certainly a shocking surprise to see that his account credentials had been stolen, especially since it occurred when we were all tired at 1 AM. Nevertheless, we were able to work through the issue and regain use of Google's API services for our project.
Accomplishments That We’re Proud Of
Something that really went well for us during this hackathon was that even though our team members came from various backgrounds and possessed different skill sets, we were able to make the most out of everyone's abilities and find different aspects of Sink Saver to contribute to. This project truly challenged us and forced our team to go above and beyond to demonstrate we were capable of making this possible. In addition, considering that this was a virtual hackathon and we only talked over Discord, the communication and collaborative environment we fostered among our team was truly great. It was a bit stressful at some times, but in the end, it was a fantastic and fun hackathon experience that we all gained a lot from.
What We Learned
One major thing we learned NOT to do is to post or share our account credentials anywhere on public sources or websites. Because we decided to put our API key for Google Vision on our GitHub, that was what enabled the third party to come along and take it up for their own malicious deeds. It was a valuable lesson, emphasizing that one can never be too safe online. Additionally, working with the Google Vision API itself served as a neat introduction to the field of computer vision. Most of our team members have never previously worked with anything relating to that area, so making use of it (as well as incorporating a hardware component!) was certainly a great learning experience.
For the future development of Sink Saver, there are plenty of features we can improve and implement. We would like to advance our prototype design by making the sensor module more compact and able to be strapped to the neck of the faucet. Instead of using a camera to detect water flow, we would switch to ultrasonic sensors, which are a cheaper and easier way to perform the same task. Using object recognition and computer vision to see falling water droplets isn’t quite as reliable as using the sound produced by the water as it hits the bottom of the sink bowl. This would make the hardware component of our project much more convenient and cost-effective.
To make our alert system better than just sending simple text messages, we would like to create a companion mobile application that would provide users with a detailed report of their sink usage. The app would feature a control panel to monitor multiple sinks around the home, displaying how often water is used/wasted by various sinks, along with the amount of water used/wasted. It would also be able to track trends and data over time, enabling users to observe and adjust their overall water consumption habits to save money and the environment.