Built a silly app so my long-distance partner and I could send each other little messages in our own voices, and now I have it working for any custom sounds
Started as a nice gift for my partner with some hard-coded sounds, but then I decided to see if I could get it working with user-uploaded sounds instead. So bing bong was born.
The app lets you send custom sound notifications on both iOS and Android. You can record your own voice or upload a funny sound snippet. Once everyone in the group has synced the sounds, tapping a button sends it as a notification that plays on your friends' or partner's phones.
A bit about how it works
Problem: I wanted to avoid storing user content to keep storage costs down and sidestep content moderation entirely. So I designed it to require as little user information as possible.
- No user accounts. I only store group and device IDs to handle push notification routing.
- Sounds and group invites are bundled into custom
.bingbongfiles. When someone clicks one, it opens automatically in the app and syncs everything. Sharing happens through whatever messaging app you already use (WhatsApp, Messenger, etc), so nothing touches my server. Everything is then stored locally on your device. - Sample packs and a web creator. I also put together a bunch of sample sound packs and a web creator that bundles your sounds into
.bingbongfiles, so you can build packs from your computer instead of your phone.
The trickiest part was getting custom notification sounds working, even without the .bingbong files involved. Neither iOS nor Android makes this easy, and the platforms handle it completely differently. Both have strict constraints around playing arbitrary user-supplied audio with a notification, and getting around them required a fair bit of custom native code on each side.
While it works on the devices I have tested on, I'm not fully confident it works more generally, and I'm absolutely expecting it to break as people use it. It's in open beta on both platforms now. Looking for testers and feedback, especially on the first-time experience and to see if it actually works.
- iOS TestFlight: testflight.apple.com/join/xJcKmmYc
- Android open testing: play.google.com/store/apps/details?id=bing.bong.app
- Sample packs: bingbong.to/samples
- Website (has interactive sound buttons): bingbong.to
This was a lot of fun to make and I would be happy to answer any questions about the build.