Amsterdam is a great city to enjoy a beer, or two. However, after you had your beers and you’re strolling down the streets, you might need to find a toilet or one of the centuries old urinals. Which can be challenging for a tourist, or even a local resident. Hence why I decided to create an app to fix this problem.

atuf.app: Amsterdam Toilet & Urinal Finder is a web app which allows you to see a map of Amsterdam with all of its toilets & urinals! Along with option to show your current location to help you navigate.

Please note, since all map markers are placed automatically. If some of them are wrong, or if you would like to send coordinates for missing toilet/urinal, or have other questions/inquiries? Send me an email or reach out via Twitter.

Idea

As someone who has been in situations where I’ve been looking for one of the urinals, idea to have a map with all urinals in Amsterdam has been chasing me for few years. Besides this, as someone who’s been living here for almost 10 years, I’ve seen my fair share of folks urinating in random areas. Which meant realization of one such idea could also improve my environment and wider community.

Initial idea was to add all the urinal markers to a map manually from my memory, which was just too much work. Although later on I found this data was already available publicly as part of City of Amsterdam Maps, I could never find enough time to start working on this project.

But then, couple of months ago my work colleagues (ING Poland) came for a team event to Amsterdam. After visiting one of the restaurants, as we walked down the street one my colleagues asked me “do you know where can I find a toilet around here?“. This was the final trigger I needed to get to work. Even if it meant only free time I could find to create this app would be while I’m on paternity leave after birth of my second child :)

atuf.app architecture

atuf.app: Amsterdam Toilet & Urinal Finder architecture

atuf.app is a Python web app made to work great on both mobile and desktop environments. After app is run, every action will be performed automatically. From fetching (scraping) data from Maps Amsterdam to performing data manipulation on it, and then displaying processed data on a map using Folium (Python Data, Leaflet.js Maps) project. App container image is also built & released using automated scripts after which it’s deployed to RPI Kubernetes cluster running in my home.

Happy hacking & if you found this useful, consider becoming my GitHub sponsor!

Update & further reference: App architecture with reliability in mind: From Kubernetes to Serverless with GCP Cloud Build & Cloud Run