During the Covid-19 pandemic in India, there was a huge shortage in medical resources such as oxygen tanks and hospital beds. Even some of the team mates own family members who were infected could not access to such resources as hospitals were overfilling. We realized that many patients resorted to social media to spread information on their location, the name, the resource they require and the contact information in hopes of finding a potential donor who could provide the exact resource they require in their region. We realized this was a very inefficient way to connect donors to patients as donors has to look through multiple post and sieve out patients they could help based on the resource they could provide and their location. There had to be a better way to connect donors to patients!
What it does
The FindPatients initiative is an initiative which helps solve the difficultly of forming a connection between the patients and resource donors. Patients can simply indicate their location and the resource they require through our Telegram chat bot link. Subsequently, donors can simply visit our website link to search through our database for the contact information of the exact patients they can help by sorting them via the region they can provide the help in and the resource they can provide. This radically improve the way donor can connect to patients in need as compared to the current way in which the patients just make blind wishes onto social media.
How we built it
Telegram Bot: Python script is hosted on AWS lambda, connected to Telegram API via AWS API gateway through a Web Hook.
Website: Hosted on AWS elastic beanstalk using Flask, connected through AWS API gateway. Domain bought on name.com registrar link
Database: MongoDB instance hosted AWS Mumbai Region.
User input error handling: We used the Liechtenstein distance algorithm for the prediction of the city word in case someone misspells their city. For example, if someone types "Deli" instead of "Delhi", the code will know which is correct word to use as city :) For the phone number verification, we made sure only correct Indian Phone number standard is used. Try out for yourself on the bot ;-) link
Challenges we ran into
- Integrating the Telegram bot into AWS Lambda function was a tough learning challenge.
- Hosting the web app on Flask on elastic beanstalk was tough as we had to make sure the network outbound rules and security rules cleared for public access
- Setting up https was extremely tough to learn :(
Accomplishments that we're proud of
We are extremely proud of the fact that our product is completely and fully deployed on the cloud, while making sure that it is already fully functional. We are also extremely proud of the fact that we took care of error handling for the user input, such as incorrect city name and phone number. We are very happy we managed to self learn everything and deploy the project on the cloud using industry leading tech. Lastly, we are proud of identifying the problem and having the guts to solve it instead of just complaining against the incompetence of the government. WE REALLY ENCOURAGE THE JUDGES TO TRY OUT THE BOT AND WEBSITE FOR YOURSELF :)
What we learned
- How to deploy Telegram bot into AWS lambda
- How to host web app on elastic beanstalk
- How to use an auto correct in python to make it more usable
- How to set up a Web hook
What's next for Immigrant Technologies (064)
Our scope currently is just India but in the future we can expand and use this service to help other countries that are also in need of this project.
Moreover this can be use for non Covid resources too