LEAD Horizon
Developing accessible PCR self-testing kits to make Corona testing a routine
Outline
Challenges
A product for regular use
Working on this project, we encountered some inherent and external difficulties. With the corona situation continuously evolving, governments taking new measures to combat the pandemic, and introducing new stakeholders to the project, requirements changed daily. Thus, alterations can happen quite abruptly and lead to peak capacity utilization of up to a hundred thousand tests per hour, so an appropriate server architecture is essential. Additionally, we had to work extremely agile to adhere to the very narrow time windows and deadlines the pandemic dictated. At the same time, a bulk of the workload also lay outside of our company's core structure, such as constant support for the ongoing operation.
Far more challenging, however, was the fact that we designed a product that people don’t want to use. For the Corona-weary population, our product and the need to test themselves regularly is yet another hurdle in an already impaired daily routine. People don’t want to use the self-tests, but to live a more normal life, they have to. Therefore, the user experience must be as accessible and low-threshold as technically possible while still obtaining all necessary information, including live authentication and seamless data submission. The user interface needs to be comprehensible for various population segments and explain the complete testing process in a simple manner.
Flow
Rinse & repeat
The goal for the LEAD Horizon web app is to collect all necessary data in as few steps as possible and be as easy to use as possible.
First, users scan the QR Code on their test kit, which forwards them to the homepage. Next, users activate their tests via the unique sample number and either continue as a guest or create a client account, enabling the use of previously submitted data and testing other family members who don’t need a separate account. If they already have an account, they may directly log into the application. This login is protected securely by two-factor authentication (2FA) to ensure the safety of the users’ information.
Then, users choose through which provider they take the test. Depending on which project they have chosen, they will get a different web app with different texts, pictures, and instructions. Additionally, depending on the selected project, they can submit additional information like which school, class, or company they belong to.
Next, users choose whether they want to take the test with video verification or without. With video verification, users receive an official lab report with the result, which they can then use to travel. When starting the video process, the user is prompted to take a picture of their passport or e-card. All necessary identification document information is read automatically to verify if it is legitimate.
The testing process itself is thoroughly described before and during the gargle-test to minimize possible user errors. With the verification test, users take pictures with their webcam or front-facing phone camera and see themselves during the process. Once the test is finished, users get detailed information on where to return their testing kit, depending on the product line and the assigned laboratory.
Depending on the users’ location or living address, an algorithm selects a suitable laboratory and sends an order to the lab when the finished test is returned. The lab receives the corresponding data via various interfaces and can push the results back into the system the same way.
Users automatically get their results, which they can only access after a renewed 2FA, to ensure that test results are accessible only for the specific user and prevent malicious access by third parties. Depending on the selected method, users also receive a link to their official and undersigned lab report.
The process doesn’t take more than five minutes, including the time to gargle and set up the test. If users wish, the app will send them test reminders at regular intervals. Rinse and repeat.
Behind the scenes
The project is running on several servers, which are constantly communicating with each other. The most important of them is the database server, which had to be optimized to run every query without problems to handle the massive incoming information. The server cluster must serve the application to the user, save their information and assets, and communicate the information to laboratories. After the laboratories process the test kits, they upload the results into the cluster, which must send the results to the users. With this high number of users, a vast amount of emails are sent daily.
We implemented constant checks comparing the laboratories’ data with the data in our system to ensure all data reaches the dedicated labs. As a result, all possible errors are resolved immediately, leading to an error quote of almost zero. For any other issues, we established a Jira board to handle all incoming support requests. This makes the organization easy and streamlines the bug report process. Additionally, we constantly try to automate all support-heavy tasks to focus on the essential aspects.
Version 1
Version 2
Version 3
Insights
Working with a rapidly growing client like LEAD Horizon and realizing a highly scalable project has provided us with essential insights and helped us thrive as a company. We learned that comprehensive project management is crucial to stay agile. Tools like Jira, GitLab, and Slack made it possible for us to communicate everything in an organized manner. Automating some of the support processes was a huge time saver and will be one of the first things we will consider in upcoming and existing projects.
Additionally, we deepened our knowledge about what it takes to make software scalable and how to test whether it meets the given standards. These tests were a combination of our collaboration with a security company that did constant audits on the performance and stability of the system and our own innovations in making these tests possible from the cloud. Due to that, we were not limited in the bandwidth of our service providers and were able to test the application to extreme cases. We used Apache Jmeter to create those tests and run them on up to 20 cloud servers.
Tech stack
Vue.js
Laravel
MariaDB
GitLab
Connecting the dots
Dotbite created the foundation that allows trusted and accessible PCR testing from home. The straightforward user experience and the focus on data security generate trust among users, which manifests itself in the tens of thousands of users each day. A sophisticated infrastructure and processes automated by algorithms ensure excellent communication between users, stakeholders, and laboratories.
Alles gurgelt!
One of the biggest challenges and at the same time largest multiplicator of this project was the joint measure “Alles gurgelt” by the City of Vienna and the Austrian Economic Chamber. In cooperation with the REWE Group stores Billa, Billa Plus, Bipa, Penny, and other connected shops, the city set up a close-meshed network of pick-up and drop-off stations. As a result, citizens and people working or going to school in Vienna can obtain and return the test kits free of charge. In Vienna, PCR testing has enabled gastronomy and cultural institutions to open, and widespread testing has significantly reduced the transmission of the virus. Furthermore, PCR tests are now competitively priced compared to other test methods The pilot project turned out to be a huge success and led to inquiries for home PCR tests from all over the world.
Achievements
300k
tests per week*
4 million
tests overall*
90%
PCR testing rate in Vienna*
*Source: Die Presse
The collaboration with Dotbite started in spring 2020. We were looking for a partner who could support us in implementing a digital health platform for the self-collection of sample material for SARS-Cov-2 PCR testing in the shortest possible time. Within a very short time and with high agility, this project was implemented by Dotbite. Since then, we have been working very closely together to develop our platform continuously. The collaboration with Dotbite is very trusting, uncomplicated, and amicable. Together, we have created an outstanding end product with a first-class user experience and top performance (large amounts of data, high access rates). We are looking forward to many more health projects with Dotbite!
Angela Hengsberger, Procurator of LEAD Horizon
Featured in
New Knowledge
Tools, tools, tools
Use the proper tools and frameworks for project management and communication. Scrum, Jira, and Slack are lifesavers. Make sure to get tools to monitor the server load, as this makes troubleshooting much easier. Spending time and money on deployment tools is also very much worth it.
The devil is in the details
When testing, make sure to test every single possible use case. One poorly written query can cause significant issues.
Proper UX > time spent on support
A single well-placed button or a simple but descriptive text will save you many support requests.
A robot must obey the orders given it by human beings
Automate all time-consuming and frequent tasks. In a time-intensive project like this, you have to utilize your limited resources efficiently.