Skip to content

Commit 1de8984

Browse files
committed
covid experience added
1 parent 4bb07f8 commit 1de8984

File tree

5 files changed

+127
-203
lines changed

5 files changed

+127
-203
lines changed
312 KB
Loading

assets/work/costs-of-war.webm

854 KB
Binary file not shown.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
title: From Panic to Python How We Rebooted India's COVID Tracker
3+
publishDate: 01 April 2023
4+
description: Covid19bharat - A pandemic side project that got too real
5+
---
6+
7+
<ul class="collage">
8+
<li><img src="../../../assets/reflections/covid19bharat-architecture.png" alt="covid19bharat scraper architecture" loading="lazy"></li>
9+
</ul>
10+
11+
On the evening that the beloved platform [covid19india.org](https://www.covid19india.org) announced it was shutting down operations, I was scoping a project with Development Data Lab as the Chapter Leader for DataKind Bengaluru. We were exploring data from pre-independence India to understand caste-based social norms. You can read about that [here](https://medium.com/datakind-bangalore/bye-bye-covid19bharat-org-6178f3194a25). But suddenly, something bigger demanded attention.
12+
13+
**covid19india.org** had become the single source of truth for millions tracking daily COVID-19 cases in India during one of the darkest global crises in recent history. Running such an operation was no small feat. That same evening, India’s leading data journalist, **Rukmini S**, reached out. She had worked with covid19india before and was informed of its shutdown. Development Data Lab had recommended me. The baton was being passed. Could I carry it?, was the question
14+
15+
I was flooded with doubt. *Was I capable? What if I failed?* But a stronger voice inside said I needed to step up. People depended on this data. Even though the pandemic seemed to be subsiding in October 2021, the uncertainty lingered. Would this effort be in vain? Or was it time to shift focus—from tracking cases to tracking vaccinations?
16+
17+
**covid19india.org** had a brand, a brilliant crowdsourced architecture, and an army of volunteers. Starting anew needed visibility. With Rukmini's voice amplifying the call, we tweeted and blogged our announcement. The response was overwhelming. Data visualization pros, civic tech geeks, and public health nerds responded enthusiastically. It was humbling.
18+
19+
### Unpacking the Beast
20+
21+
Before October 2021, I joined the covid19india core Telegram group to understand the operations and platform architecture. I discovered we weren’t alone. At least six other organizations were keen to continue the initiative: IIT Hyderabad, Indian Medical Council, ISI Bangalore, and more. Researchers at IISc and the Indian Mathematical Society were heavily dependent on this data. The urgency was real. I felt like I was being slow-cooked like a biryani over hot coals.
22+
23+
To grasp the technical setup, I teamed up with my brilliant colleague **Soumya Ranjan** from Gramener and a core member from covid19india. They helped me translate the existing stack—Python and React-heavy—into something I could understand and, more importantly, communicate to new volunteers.
24+
25+
### Rebuilding from Scratch
26+
27+
Over the next few months, we rewrote the architecture:
28+
29+
* A **Python-based CLI** to extract case data
30+
* A **Telegram chatbot** for quick entry and collaboration
31+
* A **web interface** for volunteer-friendly access
32+
33+
All of it is on [github](https://github.com/DataKind-BLR/covid19bharat_scrapers)
34+
35+
### What We Faced
36+
37+
* **Finding reliable sources** for daily case data
38+
* **Dealing with shifting data formats** (Odisha changed their table structure overnight)
39+
* **Volunteer dropoffs** and handovers
40+
* **Low tech fluency among some volunteers**
41+
42+
Despite all this, our team grew. We had state specific volunteers burning the midnight oil, tracking and verifying numbers. By Jan/Feb 2022, as India entered its last major wave, we added vaccination tracking and partnered with **IBM**, who began publishing insights through our platform.
43+
44+
### The Final Stretch
45+
46+
We carried the effort for another 15 months. By January 2023, over 85% of India had received two vaccine doses. Case tracking had become trivial. Daily traffic plummeted. We knew it was time. In January 2023, we officially retired [covid19bharat.org](https://medium.com/datakind-bangalore/bye-bye-covid19bharat-org-6178f3194a25).
47+
48+
### What I Learned
49+
50+
* **To communicate something complex, you must understand it inside out.**
51+
52+
* Tech:
53+
54+
* GitHub Actions + GitHub Pages
55+
* React components
56+
* Python CLI development
57+
* Telegram bots
58+
* Camelot for reading tabular images
59+
60+
* People:
61+
62+
* Recruiting and managing volunteers
63+
* Tracking responsibilities, handovers, data mismatches
64+
* Leveraging platforms like Twitter to build momentum
65+
66+
But most importantly: I learned to trust myself. I deliberately took on something scary and massive, and I pulled it off—with an incredible team. That’s a lesson I’ll carry for life.
67+
68+
> 🙏 To the 100+ volunteers, to the silent heroes of covid19india, and to everyone who tracked a number and made it count (literally); Thank you.
69+
70+
71+
<style>
72+
ul.collage {
73+
list-style: none;
74+
display: flex;
75+
flex-wrap: wrap;
76+
margin: 2vmin;
77+
}
78+
79+
.collage > li {
80+
height: 40vh;
81+
flex-grow: 1;
82+
margin: 2vmin;
83+
}
84+
85+
.collage > li:last-child {
86+
flex-grow: 10;
87+
}
88+
89+
.collage img,
90+
.collage video {
91+
max-height: 100%;
92+
min-width: 100%;
93+
object-fit: cover;
94+
vertical-align: bottom;
95+
border-radius: 1vmin;
96+
}
97+
98+
@media (max-aspect-ratio: 1/1) {
99+
.collage > li { height: 30vh; }
100+
}
101+
102+
@media (max-height: 480px) {
103+
.collage > li {
104+
height: 80vh;
105+
}
106+
}
107+
108+
// Smaller screens in portrait
109+
110+
@media (max-aspect-ratio: 1/1) and (max-width: 480px) {
111+
ul.collage {
112+
flex-direction: row;
113+
}
114+
115+
.collage > li {
116+
height: auto;
117+
width: 100%;
118+
}
119+
.collage img,
120+
.collage video {
121+
width: 100%;
122+
max-height: 75vh;
123+
min-width: 0;
124+
}
125+
}
126+
</style>

0 commit comments

Comments
 (0)