Over the past year COVID-19 has impacted the lives of billions around the world. Yet as we begin to return to normal, we are facing a new set of challenges oriented around ensuring people's safety and mitigating the spread of the pandemic. Noticing inefficient and often frustrating screening experiences at schools, hospitals, and workplaces led us to come up with Covalid in order to solve these issues.
What it does
With Covalid, users fill out a screening form built precisely to your organization's standards, collecting only the data that you need most. This data is intelligently sorted and filtered by groups for ease of storage and retrieval. A granular access control system ensures that managers, teachers, and other members of your organization only have access to the data that they need, protecting users’ privacy as much as possible.
In the event of an identified COVID-19 outbreak, Covalid provides organizations with the tools to quickly filter potential contacts, and send out alerts, thanks to CockroachDB’s time-based filtering and storage capabilities. With the press of a button, organizations can be sure that they have the knowledge and tools to be safe in these uncertain times.
How we built it
Covalid is written entirely in Typescript. The stunning front-end of this project was created with React, Tailwind CSS, Material UI and Vite. To handle authentication, we used the Firebase Authentication SDK by Google. On the backend, we used ExpressJS to create a REST API (which would be invoked from the front end via axios). Finally, we used CockroachDB for our database, accessing it via the TypeORM library for easy querying using object oriented programming.
Challenges we ran into
We faced quite a few challenges during this hackathon. Firstly, coming into this hackathon, we all had different skill sets and experience, and finding a setup that would put all of our skill sets together was definitely a challenge. Furthermore, we used various technologies in this project, many of which none of us had used before (like CockroachDB and TypeORM), so figuring out how to use them and integrate them with the other technologies was challenging for us. Finally, the timeframe of this project was quite small, so we definitely faced challenges finishing everything in time. Despite all these challenges, however, we are proud of the final result.
Accomplishments that we're proud of
On the backend we were exceptionally proud of our usage of various technologies for the very first time. We used exemplary technologies such as CockroachDB, TypeORM, ExpressJS. Furthermore, we wrote the entire backend (and frontend) in TypeScript, which is an accomplishment because many of us had never used it in a project before. Finally, we’re proud of how we delegated work between the backend developers, Pranav Rao and Lavan Surendra, which allowed us to complete various large tasks simultaneously.
On the frontend, we are proud of the effort that went into learning all the relevant technologies in the timespan of a hackathon. Each of the frontend developers, Abdullah Shaikh and Jacky Tea, had varying levels of experience with the libraries used in this project, with:
- Abdullah having never used React, our website framework, before, and
- Jacky having next to no experience with TypeScript, the language used
yet with perseverance and hard work, we put together an incredible interface in a seemingly impossible period of time.
What we learned
We learned quite a few things throughout the course of this hackathon. Most notably, we learned about various new technologies and how they work within the grand scale of the application. Our collaboration and cooperation skills also improved as we worked to build a robust, powerful application, dividing up work and meeting with each other as we built Covalid. This was a challenging, stressful, infuriating, exhilarating, exciting experience that we all learned so much from, and we are glad to have participated in Hack the North.
What's next for Covalid
There were a lot of features we weren’t able to implement during this hackathon due to the limited timeframe. One such feature was physical movement logs within an organization, such as a teacher tracking when their students leave a classroom within the school. We also wanted to implement an artificial intelligence algorithm that would take these logs and compare them to trace outbreaks within an organization. Nevertheless, we are proud of what we accomplished and hope to build on this work in the future.
We believe that Covalid could be a powerful tool for organizations, businesses, and facilities looking to manage their COVID-19 response in a safe and effective way. While our model revolves around open source and extensibility, we, like other open source software such as Red Hat, believe that providing support and maintenance would be an effective business model to turn Covalid into a real company.