How it works
1. We find your location
When you load the map, your browser asks for permission to share your location. We use it only in-browser, only for centring the map and computing distances — your coordinates never get logged or stored on our servers.
If you skip the prompt, we fall back to a coarse country-level guess from your IP (also not stored), or you can search any city or address by hand.
2. We load nearby toilets
Toilet locations come from OpenStreetMap — every "amenity=toilets" tag in the country you're in. We cache each country's snapshot in a database and refresh it weekly so the first load is fast.
If you're near a border we also pre-load the neighbouring country, so the map doesn't go blank when you cross into a different jurisdiction.
3. You filter and pick
The chip row at the top of the bottom sheet filters by free, paid, wheelchair-accessible, baby-changing, and more. The list re-sorts in real time by distance from where the map is centred.
Tap any pin to open its detail card: opening hours, access info, cleanliness band (Pristine / Clean / Average / Poor), individual reviews, and a one-tap "Navigate" button.
4. Walking directions
When you tap "Navigate", we ask OSRM (an open-source routing engine) for the shortest walking route. The map shows the path; the bottom sheet steps through each turn.
5. Reviews
Anyone can leave a cleanliness review — a 1-to-5 score and a short note. Reviews are stored in a simple Supabase database. We aggregate them into the cleanliness band shown on each pin.
No signup. No spam-prevention beyond rate limiting. We rely on the same goodwill that makes OpenStreetMap work.