Developing accessible PCR self-testing kits to make Corona testing a routine
LEAD Horizon wanted to bring highly intuitive, secure, and fast PCR testing to people’s homes. We built the web app that made it possible.
From strategy to design to the programming of the end product: useability and security were the central focus in this time-intensive project.
A product that plays a huge part in fighting the pandemic. Up to a hundred thousand users each day trust in the data security and straightforward user experience.
A worldwide pandemic
The pandemic caused by the coronavirus has disrupted every aspect of life. From personal meetings to culture, travel, and how we work, every interaction with other people is impaired by the virus and societal actions we take to prevent its spread. In several European countries, one of these actions is rigorous and frequent testing for infections to allow body-related services and admission to gastronomy or cultural events. The tests most frequently used are antigen tests, which are often very uncomfortable and not entirely reliable. The far more reliable PCR tests are expensive and take too long in their evaluation to be useful, preventing widespread testing with this method.
Fast and secure testing at home
Our client LEAD Horizon was founded in 2020 by Associate Professor of Medicine & Virology Christoph Steininger and business consultant Michael Putz and aimed to counteract the corona pandemic by offering accessible and convenient PCR testing for everyone. Routine targeted testing is the key to containing Covid-19 and bringing back normality as safely as possible.
"Together with our partner institutes, we would like to give private individuals in Austria the opportunity to be tested for the coronavirus throughout the country. Without long waiting periods, without pain, and with a simple test procedure."
Assoc.-Prof. Dr. med. Christoph Steininger
For that reason, they developed a patent-pending PCR self-testing kit, which is officially recognized by the authorities and uses products from European manufacturers. The tests are analyzed exclusively by officially tested laboratories. To connect the user of the self-testing kit with these laboratories, LEAD Horizon needed a solid web application.
A project of this size and impact has a myriad of requirements, so we only list the most critical demands LEAD Horizon has towards the web app here.
- Low-threshold method to take a Corona self-test and receive a result in 24 hours
- Capturing, validating, and storing all necessary data while adhering to strict privacy guidelines and providing proof of identity and usage on camera
- High scalability and fast adaptability: the creation of different countries and labs, eleven different languages, account and guest functionality, internal and external support interfaces
- Use-case based product lines (public screening programs
, private users, businesses, schools)
- Laboratory allocation algorithm for shortest delivery paths, Various connection types for laboratory returns
- Automated reporting functionality for relevant stakeholders
- Ongoing support, consulting, and quality management
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.
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.
Keeping personal data safe
Since this product requires so much sensitive data and deals with an issue so close to the heart of its users, namely their health, it needs to be one hundred percent trustworthy. Users are giving the web application the benefit of the doubt as they have to provide identification documents and their faces for identification verification in addition to all relevant personal data. Such a collection of sensitive information requires perfect internal data security and various safeguards like 2FA and strict separation of identification proofs and test results to prevent unauthorized access. The project is also under ongoing review by data protection specialists to ensure full compliance with all legal requirements. No data is ever shared, and all saved information is deleted in regular intervals.
Why simple was so complex
Adhering to all the performance and data safety requirements, we ensured the user stays at the project’s core. In particular, our goal of making PCR tests a routine requires straightforward usability, with individual steps that are easy to learn and repeat. Therefore, we focused heavily on user experience to make the rather complex test kits as simple as possible. Due to this and the implementation of new stakeholders, the web app is constantly changing and already had two major redesigns. Given the many different options and participating organizations, we designed several distinct branches and dependencies that are not apparent to the standard user.
With Vienna-based graphic designer Dominik Rummerstorfer we designed color schemes and highlights, visual elements such as buttons and icons, and all texts to be meaningful and descriptive to guarantee comprehensibility. Proper wording is not only essential to help the user understand what they have to do; language is also a powerful tool to build trust. We, therefore, chose the wording in a way that communicates safety and security. Constant data-driven re-evaluation and feedback-based revisions led to a product almost all users can operate with ease.
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.
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.
Scalability & Big Data
We accomplished handling large amounts of data through splitting it into multiple servers, optimizing storage servers and database queries, and caching frequently and efficiently.
Our UI communicates simplicity and security in a complex process. The user experience ensures all users can test themselves with little need for support.
Constant audits ensure the safety of the data and the consistent delivery to all interfaces.
All data is stored and delivered encrypted, and multiple safeguards prevent unauthorized access to sensitive data. We constantly test stability and interface security internally and externally.
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.
tests per week*
PCR testing rate in Vienna*
“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
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.
You have a great idea. We have the means to make it real. Let’s talk about it: no pitch, no nonsense, no strings attached.