COVID-19 is highly transmissible. Since infected people take time to show symptoms, or sometimes, don’t show symptoms at all, it is hard to tell when you’ve crossed paths with someone who carries the virus. Enter Bubble.
What it does
Bubble is an app that does two things. First, when two phones that are using Bubble come within 1-5 feet of each other, they will vibrate as a warning to maintain social distance. Second, if a phone gets within 5 feet of another phone, Bubble will securely exchange their phone numbers. Later, a user can report in Bubble that they have been diagnosed with coronavirus, and Bubble will examine the record of users that the infected person encountered, and send them all a text notifying them that they may have come into contact with the virus. This way, they can watch out for further symptoms and take precautions against further spread. The Alert sent by our app contains information regarding when you encountered the infected individual and additionally displays a map containing the approximate location of the encounter.
How we built it
The app was built in Android Studio. The Google Nearby Messages API can detect if two phones pass near each other using ultrasonic communication. Nearby Messages can also broker a small connection to transfer data, which we use to allow the phones to exchange phone numbers, and used Volley to record the transfer and other pertinent information in a server. We used firebase to keep track of the encounters generated by Nearby Message, and a Twilio SMS client in a Google Cloud Function was responsible for notifying people when someone they’d encountered reported sickness.
Challenges we ran into
It was very challenging to use the Nearby Messages API as a proximity detector. We at first used a distance function designed to work only with Bluetooth BLE beacons using their signal strength and RSSI. A lot of time was spent trying to use the phones as beacon transmitters, but we ultimately decided to use Nearby Messages ultrasonic communication feature, though this gave us a variable range that was shorter than we would have liked.
Accomplishments that we are proud of
We are proud of our clean, easy-to-use UI design. It was also cool to use ultrasonic communication between phones. Most important, though, was creating an app that promoted well-being.
What we learned
We learned a lot about Bluetooth, BLE devices, and especially Android development. (Android Studio is approximately a brick). We also learned how to use Twilio, which was a simple but powerful addition to the app, and a good thing to have in our toolbox for future projects. Lastly, we got a handle on the interesting capabilities of Google Nearby.
What's next for Bubble
The next step for Bubble would be to create an iOS app. Google’s Nearby Message’s API is fully compatible with iOS, and though we didn’t have the time to make an iOS app, it would certainly expand the reach of Bubble. Security is another concern. Our app’s security is not airtight, and before deploying to the public, we would first make sure that our app does not inadvertently expose user’s private information, especially their geographic data.
Try It out
android-studio, bluetooth, firebase, google-maps, nearby-message-api, node.js, twilio, volley