Personal project · iOS and Android

San Bidet: from an urgent restroom search to a useful community map

I built San Bidet to help people find restrooms with bidets around the Philippines.

In short: San Bidet began as a Xamarin.Forms side project built on a Hackintosh. It later moved through .NET MAUI and is now built with React Native and Expo, with stability and the core map experience taking priority.

Role
Founder, designer, developer
Platforms
iOS and Android
Current stack
React Native and Expo
Status
Available on both stores
San Bidet iPhone map screen displayed over an illustrated city map and newspaper collage

The idea came from a very practical problem: I urgently needed a restroom with a bidet at SM North EDSA and could not find one.

How it started

During that emergency, I went from restroom to restroom without finding a bidet. I eventually made do with a bottle of water. Later, I saw people sharing bidet locations through scattered social posts and realized the information would be more useful as a searchable, location-based product.

I did not own a Mac, so I turned my existing PC into a Hackintosh and used the cross-platform framework I knew: Xamarin.Forms. The setup was imperfect, but it was enough to build and ship the first version.

The product had to grow beyond my own list

A restroom directory only stays useful when its location data keeps improving. Community submissions became an important part of San Bidet: people could contribute locations, while the product needed a practical way to review and maintain that information.

Three generations of cross-platform development

Original build

Xamarin.Forms

I used the framework I knew to prove the idea and get a working product into people's hands.

Later migration

.NET MAUI

The application was later migrated to .NET MAUI. I am intentionally leaving the exact migration date undocumented here rather than guessing.

Current build

React Native and Expo

The current version uses React Native and Expo, with maintainability and a stable core experience guiding the rebuild.

Downtime changed the order of priorities

San Bidet had a period of downtime. When I rebuilt it, the first priority was stability—not immediately recreating every feature. The useful lesson was straightforward: keeping the core map dependable matters more than expanding an unreliable product.

The app remains available on iOS and Android, and its story has been covered by local publications.

App Store ↗Google Play ↗

Philstar ↗Inquirer ↗YugaTech ↗

What I learned

A useful idea can outlive the framework it started in. San Bidet also reinforced that community data is a product responsibility: submissions, review, and reliability have to be designed as part of the experience.

Have a problem worth solving?

Tell me what you are trying to build and where it is getting difficult.

Get in touchLinkedIn ↗