COVID-19 spreads via close proximity, often without any symptoms by the carrier. We are in a virtual lock down now, but as the curve flattens, we are bound to be on the move again. For us to move about in our neighborhoods and stores, we need to be able to quickly self-quarantine if we have been in close proximity with a potential carrier. This is the ultimate network problem, but localized for the most part, as we usually don't travel much father than our neighborhood grocery store and restaurants besides to and from work. How do we balance the privacy aspects and individual freedom and rights, with the need to collect who we have been in contact with?
What it does
While a bluetooth based solution has been proposed and implemented, we believe it has many limitations. Chiefly, it can only work when two individuals have been within range of bluetooth signal, AT THE SAME TIME. The virus stays on surfaces and lingers for a much longer period. Mobile phone based location tracking naturally comes in mind, but privacy becomes a serious concern. Our solution is unique in that it preserves privacy while captures all necessary data for contact tracing. Namely, we do the following:
We do not record any profile information, not even your email or phone number. Just your mobile device and a push token to send an alert to you. We do not record any location when you are at home. We call it the donut. This drastically reduces ways an individual can be identified by location data alone. We do not record any location when you are moving faster than walking speed. We don't need to know when you are traveling at high speed for contact tracing, so we don't keep it.
How I built it
We rapidly built the solution using Flutter as the app development technology for both iOS and Android, and Google Cloud Platform for the back end. This allows us the quickest speed to market with a full featured scalable solution.
Challenges I ran into
To get a end to end app up and running on both major mobile platforms up and running in a couple of weeks was a challenge. To scale to 10's of millions and beyond location data from many individuals, performing complex queries using distance, time, speed, and other data points is an architecture and optimization challenge. To design a full scheme to preserve individual privacy and security, without diminishing the effectiveness of the solution, is a huge challenge.
Accomplishments that I'm proud of
We are most proud that we are able to come up with a design to overcome all the challenges, and implemented in mere weeks.
What I learned
A tight-knit team with a clear vision and singular focus can do great things in a short amount of time.
What's next for ExpoSURE Tracing
We have submitted to both Google Play Store and Apple App Store. So far both are held up in the approval process. We need positive engagement from both companies to actually look at the app, and allow individual users to make a decision whether to use the app for themselves.
flutter, google-cloud, python