With the sudden lockdown of the entire nation due to the COVID pandemic, operations of the Government, for-profit and nonprofit organizations, corporates, educational institutions, and everything down to the smallest details of our everyday lives got affected. This naturally included Indus Action’s operations, with a plethora of problems, enough to threaten the very existence of the organization.
With these changes, we were thrown into the ‘rapids’, with our only hope to pull together whatever we could get our hands on, and build a ‘raft’ to safety. The raft came in the form of our COVID Rapid Response campaign that we started, which primarily included helpline operations to facilitate food and essential services to the disadvantaged.
But of course, building the raft was no easy matter. Everyone in the organization worked tirelessly to ensure that it remained strong throughout the journey. And as part of the technology team, our part was to create a platform for it.
It was no easy matter, but after a few rounds, we finally came up with a simple solution for it. For some context, our biggest challenge was that our new Campaign Management System(CMS) that we started building last year, while designed with a capacity to handle such a situation, had not matured enough to handle it. It is currently only able to handle a single cycle of a campaign. So, in the pursuit of a solution, the Indus Action Rapid Survey Tool came into being.
Minimum viable product, maximum results
The platform is built as a small simplified branch of the CMS, using the open-source form and data management platform, Form.io, as the foundation, and the existing system to build a separate sub-system to handle entire calling operations.
These, of course, necessitated the creation of a new database schema to handle the volunteer callers and the data we collected from our beneficiaries, which was rapidly changing especially the beneficiary form data. Luckily we were already using a NoSQL database, MongoDB, for Form.io, which made it easier to store the data.
Then came an entire set of new Application Program Interface(API) that were required to handle and manipulate those data, and allow for smoother user experience in the platform. Earlier in CMS, we had made wrapper APIs to mold Form.io APIs to our requirements, but while this did ease our usage, it had taken away the flexibility of it. Here came the challenging part, having to study Form.io deeper, so that we could use it effectively to utilize its many features, which included the entire authentication and the access control systems.
After the initial struggle, we were able to release a minimum viable product, which was able to handle the basic, but much needed, functions of call allocations, data collection, and continuation of the calls. After going through the iterations of using Google Forms to pure Form.io forms, these functions helped to alleviate the burden from our Operations Team.
The campaign anchors in the states no longer had to manually assign the calls to each caller(volunteers), but instead, the allocation was decentralized, and now the callers are just a click away from refilling their call list, should they run out. There was no longer a need to maintain multiple Google Sheets for each state, which then merged into a national sheet for analysis. This largely eased the data analysis process too. The callers no longer had to call from their own numbers, with the integration of Exotel’s calling feature, which masks their number, removing their risk of harassment.
Although it is still a far cry from a perfect solution, this has stabilized the situation and helped ease the efforts of the other team members in maintaining the ‘raft’. Now we are able to provide fixes and new feature implementations with more ease and reliability, growing the platform with stability.
(The Rapid Survey Tool is now being open-sourced and can be modified and used for other similar small scale surveys.The source code can be made available for those who are interested. Please write to email@example.com for more details.)