C19 Path Finder
Human life is an endless symphony (or should I say cacophony) of what transpires as a series of events and associated responses that further evokes an endless stream of new stimuli and responses. What makes us human is the distinct privilege that we have in terms of “Making Our Own Choice” to respond to these infinite stimuli that bombard us every moment (unit of time immaterial) in our life. This “choice” entails the WHAT (events under consideration), the WHY (motivation for consideration in the first place), and the HOW (now that you’ve made your choice, how do you go about it). It’s said the Choices you make in life defines you. Well! We (a group of self-motivated social entrepreneurs and core software engineers) had a life-defining moment last summer (Summer of 2020) that I would like to share with you today.
We had come together as a team to digitally transform the organization for whom we were working for. The transformation journey was set in motion and everything going well until we realized that all our plans and strategy to work as one cohesive and co-located team was heading south as one uninvited guest decided to extend its stay. We’ve had many such uninvited guests in the past, but nothing of this kind threatened the very way we would live, interact and work. Covid-19 finally revealed its true colors and made its presence felt!
It wasn’t too long before the whole country went for a lockdown. We resumed our work lives restrained at home and slowly started opening our eyes and ears to media around. The news of first-world countries struggling to manage this epidemic was quite disturbing and depressing. The final trigger that evoked a response from us that eventually resulted in this article was when a local media channel reported the helplessness of the local authorities to track and report the patient’s route map who was a foreigner (who didn’t speak English).
March 15, 2020: The day a few of us in the team grouped and talked about this situation. A few questions were on the air within no time:
- Why can’t we leverage technology here to figure the patient's route map?
- What if this person is leveraging location services (being an alien on foreign land) to find his way around on this smartphone?
- Can we tap into his location history if location services are enabled?
Little did we realize at that point; seeking answers to these questions would set us on the adventure (an arduous one indeed) of a lifetime. We knew to contain this virus outbreak, it was absolutely critical to understand its transmission path so that safety and preventive measures could be taken. Thus began our journey to create a technology solution for tracing the virus transmission path via “contact tracking".
We fondly started calling this side-project C19 Pathfinder. The challenge in terms of moonlighting with a pressing day job made the journey arduous, yet the possibility of arriving at a solution that would help everyone understand their risk disposition to this pandemic was far too exciting and it pulled us along. We felt morally responsible, and for the first time in our lives, we were feeling a sense of completeness (for lack of better words) in terms of leveraging our strengths for a higher purpose (to better put; the common good of humanity).
The proposed solution was to trace the path of the virus through an infected person or potential vectors (virus carriers). We thought this would help the authorities who are desperately trying to find, isolate, and help the victims and, more importantly, find potential people prone to this epidemic. We were contemplating the possibility of turning the tables around (in this fight with Corona Virus) by making the people aware of their pathway crossings (location coordinates) with any victims (making them potential vectors) and thus giving them suitable insights to prevent further transmission (to others including their near and loved ones). The project also aimed at providing insights in the form of Heatmaps from a safety standpoint.
The project leverages the following software components to achieve its core objective as outlined above:
Smart Mobile Application
- This application would be leveraged for contact tracking.
- The mobile application should be downloaded and installed by everyone on their smartphone.
- The mobile application attempts to continuously capture the travel path of an individual through the location services in his smartphone and scans for potential pathway crossings with a victim or potential vector around the same time.
Mobile Backend Service
- This component would provide the necessary Rest APIs for providing the victim/vector pathway to the connected mobile application for any specific scan iteration.
- The component would store all the positive scan results (in the form of pathway or location coordinates) from individual mobile applications, collate, and batch this for subsequent scan iterations.
- Reporting APIs for individuals and authorities.
Admin Interface (Web/Mobile)
- Data Entry Forms for Dashboards & Statistics.
- This would house the various reports that would be consumed by individuals and authorities.
- This would also have the option to define the scan rules (based on various thresholds including location accuracy, incubation period, etc.).
Mobile App Framework & Components — React Native, Google Maps
Mobile Back-End — NodeJS
Cloud PAAS Components — Azure Cosmos DB
We had created v1.0 (an end to end working prototype) with the following features:
- Mobile App targeting Android OS.
- Capability to export and import Locations info for the past 14 days (the considered incubation time). You could either export directly from Google Takeout or leverage the web view provided by the app.
- The app would seek appropriate permission and continuously track your location from the time of installation.
- The app would display State-wise India Covid-19 statistics on an intuitive map.
- The app would display a heat-map of the victims along with your location info (indicating your risk vs safety).
- The app would provide basic awareness info on Covid-19.
- The app would provide contact details for support and help.
- Mobile Backend Service APIs for Statistics, Dashboards, and Heat-maps
- CSV Import of Victim Route-map (as reported and tracked by authorities)
There’s been a lot of development beyond this project. There’s a lot of applications in use today that leverage contact tracing (one another reason we consciously slipped this into cold storage with regards to patient privacy despite lack of time and focus to make it production-ready). I think the possibility of leveraging technology to full bear was far too exciting for us not to give this prototype a try then. We are opening this out (in its present stage) entirely for any interested developer who could leverage this for any sort of further experimentation and development.