CASE STUDY

App For Infection Prevention

Industry: HealthCare

Description

The client is a German non-profit organization that pursues the goal of containing the further outbreak of the COVID-19 pandemic through geolocation tracking. They were looking for a partner who would help them bring their ideas and values to life.

Previously the client had been working with another team of developers but was not satisfied with the results. When Embrox stepped in we came across a bunch of bugs and wrong architecture decisions. We got down to work fixing all the bugs and redesigning the architecture as well as implementing our own solutions.

As a result, the app was born. It is a unique mobile application for infection prevention. It determines the risk of infection through geolocation tracking and makes sure you keep a distance.

Challenges

  • Number of bugs and wrong architecture decisions were passed on to us from the previous developers.
  • High Level of Security. Usually, healthcare applications require the highest level of security, since they deal with personal and sensitive data. Unfortunately, very often healthcare apps have vulnerabilities.
  • Accuracy of contacts detection.
  • Highly loaded system supporting a huge amount of devices. We were to develop a server that would run simultaneously for 80 million users.
  • Big Data storage and analysis in real-time.

Approach

  • React Native. The main requirement of the client was the cross-platform nature of the mobile application, so the Embrox team chose React Native.
  • Debugging and redesigning. First of all, The Embrox team did a code review to identify weak links in the software. After that, we fixed the existing bugs and redesigned the app architecture.
  • Security. Our approach was to create an app that uses little to no personal data. We based the app on anonymous data tracking — the user data is secure, decentralized, and stored in the blockchain in accordance with the European Data Protection Guidelines. Based on the whereabouts of the user within the last 14 days, it determines whether they have had contact with infected people during that time. All that is anonymous, so is your status. The risk history is based on the last 14 days to give you an overview of your past and current risk status. After 14 days all data is automatically deleted. Also, no information about the time and place of a risk contact is shared. The app does not require a login, which means that no personal data is recorded. As a consequence, data collected by the app is not personalized.
  • Location Tracking. We used geohash technology as the next step in the evolution of the system. Geohash is a complex search algorithm that does a huge number of comparison operations. Its distinctive feature is that geohash can make fast and unique comparisons. The application uses a GPS location for tracking user’s potential risky contacts. We also reflected data on an interactive map which provides an outstanding user experience.
  • MongoDB. For storing the collected data we decided to use mongoDB as a safe and secure solution to our needs. In our case movement coordinates are recorded in the database, whereupon the algorithm checks whether there was an encounter with the infected. Together with the hosting, it allows the app to support a substantial number of users.

Key features

  • Collecting GPS coordinates (foreground and underground modes)
  • Calculate possible contact with infected persons
  • Secured server data
  • Multi-language and locality support
  • Full anonymity of users
  • Symptom checker
  • Traffic-light system to determine the risk of infection
  • Recommendations based on official sources
  • Free to use

Results

Within 9 months the Embrox team provided a quick and reliable solution — a crash-free cross-platform mobile application, a well-working algorithm, as well as a highly loaded backend that handles an immense number of location updates. On the first day of the app release, there were several thousand downloads.

Having used our professional judgment and experience gathered working on similar projects we created an app that allows the user to determine his individual risk of infection through the geolocation function. Since exposure prevention is one of the most effective means to avoid infection, the app enables the user to stay away from high-risk areas and contacts. An interactive map shows areas with high infection rates that users are to avoid.

The risk of infection is assessed with the traffic light system: based on your state of health, the places you last visited, and your contacts.

Moreover, there is a symptom checker built in the app which asks you about the relevant symptoms. With this information, the app creates the user infection risk profile and health status. Later you can report your symptoms on your own.

The app also offers recommendations based on official sources which allow the user to be up to date about the current epidemiological situation.

Working on this project, as a team we came to the conclusion that for this type of application it is better to use BL / BLE, seeing that the accuracy of GPS modules varies greatly, especially in large cities where there are various obstacles.

...

Services

Mobile Software Development
BackEnd Development
DevOps

Technologies

React Native
Mongo DB
RestFull API
Expo
Camera
AWS E2
Lambda
Node.js Serverless