We wanted to create a platform for organizations to more accurately assess risk and communicate with users more efficiently in situations where contact tracing is optimal. We think that our platform can have a multitude of applications in organizations such as hospitals, businesses, and schools to promote the safety and health of all individuals.
What it does
Our platform uses strategically placed beacons to accurately locate users that are connected to the beacon through Bluetooth on our mobile application. When a user registers under an organization that uses our product, they sign in to our app and automatically connect to beacons under the organization's name. Our beacons use trilateration to calculate the user's relative position and their distance to other users by comparing signal strength ratios.
Compared to other companies such as Apple and Google who also use Bluetooth signals for contact tracing, our system is more focused on specific beacons in areas that communicate with all the personal devices on that network. When a user reports that they have been exposed to a virus, this enables our system to automatically contact all individuals that have been in the vicinity of the exposed user.
How we built it
Firstly, we used Node.js to create the back-end of our platform. This part of the program handles all the technical details and calculations apart of our app. Then we linked our program with Raspberry Pi's in order to complete the beacon logic behind them. We were then able to implement the server logic behind our app with Google Cloud.
To build the front end, we first started out by sketching ideas for the pages of the app and which types of pages the app needed. We implemented what we had in mind by scratch using React-Native so that our app could run on both Android and iOS. Throughout the development process, we used Expo in order to test the aesthetics of the application directly on our phones.
Challenges we ran into
We struggled with developing an aesthetically pleasing and smooth User Interface since our team members were inexperienced with front-end development. It was a learning experience when we were programming the interface to look pleasing to the user. Getting familiar with React-Native took some time but we overcame these challenges and in the end, we were able to create a smooth and simple UI experience.
Since React-native is not a software framework developed for producing code that uses Bluetooth we had trouble finding and developing code that would utilize the Bluetooth aspect of our idea. In order to overcome this challenge, we had to write and develop our own code that would implement our needs for Bluetooth communication with the beacon.
We had trouble identifying a way we could compare distances between users when they were on the network. We realized that we could take advantage of the signal strength of the devices on the network to compare their respective ratios to determine the relative distance between devices. It took a lot of time to think through and implement this solution.
What's next for Project Phryctoria
We want to be able to implement data analytics to our application so that we can produce more accurate reports on details such as hotspots where viruses have been contracted. We believe that with data analytics our app can have many more uses and can save more lives.
We specifically hope that we can find out the contact threshold to better notify users. By analyzing the amount of time spent with an individual enough to contract the virus, we hope to notify users more accurately based on how long they spent next to those exposed.