Inspiration

Whenever my family and I are out and about, we always end up wasting our time - sometimes up to 30 minutes - just searching for a bathroom, only for it to be vile and putrid. So why don't we do something about it?

What it does

Our application takes users' location and finds nearby bathrooms. All of this information is displayed in a user-friendly format on a map. The app lets users click on locations and write reviews on the overall experience of the bathroom. This includes categories such as: cleanliness, amenities, accessibility, and safety

How we built it

We built a flask based app that uses Open Street Map data. For our backend we used flask. For our database we used SQLite. For our frontend we used HTML, Javascript, and leaflet.js. We used OpenStreetMap Overpass API for fetching restroom locations. We used Browser Geolocation API to find the user's location. Flask was used to handle http requests. Requests got restroom data from OpenStreetMap while geopy calculated distances between the user and the restroom. Our database stored latitude and longitude to link reviews to specific bathrooms. Each rating element was also stored in the database. The API then restricts toilets within 5km. The HTML was used to display the map and buttons.

Challenges we ran into

We tried creating a model that would allow users to take a picture of a bathroom and have AI give a rating of the bathroom. We created our own bathroom dataset by web-scraping images using Selenium. We were able to train our model and get a 82% accuracy, but when implemented into the webserver it would take a very long time to start up. Because of this, we were not able to incorporate our AI into our functioning webserver.

Accomplishments that we're proud of

We are proud that we were able to create an application that has an impact on anyone's daily life. We have never created a AI based model, and having done the whole process in a limited timespan is something we are also very proud of.

What we learned

Doing this project we learned many things. We had never used a geolocation package, and we were able to implement this in a scenario that is useful to a user. We also had never web-scraped before. We were required to do this since we needed to collect hundreds of images of clean and dirty bathrooms. Furthermore, this was our first time training an AI, and we were able to train a model with good accuracy.

What's next for FlushFinder

Our main goal is the incorporation of our trained AI into our web-server. We also want to implement our web-server into an app. Going in the future, we see the possibility of accounts being a beneficial part of the application.

Share this project:

Updates