BreathOfLife: How a Serverless App Built on AWS Helped Meet Critical Covid-19 Needs
4 min read
Photo by cottonbro studio: pexels.com/photo/people-wearing-diy-masks-3..
Spoiler Alert*: Different kind of article from me ;-)*
The Covid-19 pandemic changed our lives in many ways and one of the most significant impacts has been in the healthcare domain. Hospitals and medical facilities were overwhelmed by a large number of patients and the scarcity of hospital beds and oxygen machines became a very major issue. There was panic all around.
During this time, we (a group of friends from an IT background) realized that many people were struggling to get access to oxygen machines, which were critical for patients with Covid-19. We knew that we needed to act fast and find a way to help people in need.
As we were from IT backgrounds, we decided to leverage technology to build an application that could help people reserve oxygen machines quickly and efficiently. Our focus was to build an application that could be deployed quickly and was cost-effective. After brainstorming and developing a plan, we named the application "BreathOfLife"
We chose AWS as it offered a serverless architecture that was perfect for our needs. The serverless architecture meant that we did not have to worry about managing servers or scaling the infrastructure. The platform could automatically scale based on the traffic, ensuring that our application remained responsive and fast 24x7.
We started building the React UI (as we were most comfortable with), which we hosted on S3 with CloudFront. The serverless Lambda function was used to handle the API requests, while API Gateway was used as the interface between the API and the application. We chose DynamoDB as the database as it is a highly scalable and cost-effective NoSQL database that can handle large volumes of data ( p.s: we didn't have that much data ;-) ).
One of the key features of our application was the ability to upload medical certificates or Doctor's notes to confirm the need for oxygen machines. We also set up email triggers for the admins to approve or reject the reservations, which helped us to manage the large number of requests we were receiving. Notifications were also sent to the users on approval or rejection and when the machine was due for return. We used SES to send emails.
Next, we created a subdomain and registered it with Route 53, which allowed us to create a custom URL for the application and make it easily accessible to the public. This helped us to reach more people in need and made the application more user-friendly.
Cost-effectiveness was a crucial factor for us as we were building this application in our spare time and with limited resources. So, we took advantage of the AWS free tier and the pay-per-use pricing model allowed us to keep the costs low. We were able to run the entire application for under 1$ per month (the major being route53 hosted domain cost), thanks to decent low traffic and usage.
The partnership with the NGO group was instrumental in the success of the application. The group arranged/purchased oxygen machines and helped us to reach more people in need and spread the word about the application.
As the pandemic continued, we worked to improve the application based on feedback from users and the NGO group. We added new features and simplified the request process thereby ensuring that the machines were made available quickly.
One of the biggest challenges faced was managing the large number of reservations we were receiving. The traditional approach of using spreadsheets and manual record-keeping was not going to be sustainable, which is why we built BreathOfLife. The application allowed us to manage the reservations efficiently and provide real-time updates to the users.
Simple Architecture (Nothing Fancy)
To conclude, the Covid-19 pandemic was a challenging time for everyone but it also showed us the power of technology and how it can be used to help people in need. By leveraging the serverless architecture of AWS and the commitment of the Rotary group, we were able to build an efficient and cost-effective application that helped people reserve oxygen machines quickly and easily.
What is satisfying is we were able to help many people during a time of crisis. The outcome also highlighted the importance of innovation and creativity during difficult times. As the pandemic continued, many businesses and organizations were forced to adapt to new circumstances, and the ones that were able to innovate and find new ways to solve problems were the ones that thrived.
The experience of building this application taught us many valuable lessons about the power of collaboration and the importance of community. Looking ahead, we believe that the lessons learnt from this experience will continue to be relevant in the post-pandemic world. The importance of technology and innovation will only continue to grow, and the need for collaboration and community support will remain as critical as ever.
Hope this post inspires many more people to come forward and respond to critical situations. Cheers !!
Did you find this article valuable?
Support Durgadas Kamath by becoming a sponsor. Any amount is appreciated!