Sewa US along with Vyasa Houston & Yoga Bharati run an initiative to improve public health and provide help during disasters. They usually get requests for volunteers and as per requirements, they reach out to their registered volunteers. The problem they are facing currently is that the communication between Sewa US and volunteers is completely manual. They send out messages to their volunteers but there is no mechanism to manage the response. Also, there is no standard way of registering a volunteer or requester. Our idea is to create a common platform where all requests and volunteer assignments can be managed seamlessly with a workflow pipeline.

What it does

We have built a framework to capture new requests by using the Telegram messenger in addition to the website. The chatbot gets all the details from the requester regarding their requirements and analyses the urgency status of the request using Sentiment Analysis using Artificial Intelligence. Each ticket has a field for the category which can be Disaster Management, Family Services, Volunteer Events. This request is then uploaded as a unique ticket on Trello. Each ticket flows through 4 stages: Backlog, Awaiting Approval, In Progress, Completed. A new ticket stays in the Backlog stage unless it is assigned to the volunteer. If it's a 'Family Services' request then the ticket has to go through an additional 'Awaiting Approval' stage. The next step is to broadcast messages to the volunteers added in our database based on their location and the requester's location. We have built an algorithm that keeps track of the volunteer's response and the requirement and accordingly expands its radius of location for broadcasting messages to volunteers. In order to avoid the bystander effect, we have added customized buttons to capture responses from the volunteers so that the messages are not buried down. After the volunteer requirements are fulfilled, the ticket moves to the 'In Progress' stage. This is the stage where the requester and volunteers are connected. We keep track of the progress of the task and the ticket is moved to the 'Completed' stage.

We have also built a dashboard for the admin to track all the requests and their stages. We are proud of our live Maps to check the volunteers around a given radius. Our onboarding of volunteers is also backward compatible ie a simple csv upload of the existing dataset of volunteers will get them added to the database.

How we built it

Our chatbot works in Telegram messenger using their core APIs. We use a sentiment analyzer to understand the urgency level of the request. The responses in the messenger along with the urgency status classification are communicated to Trello using their APIs. We have used Leaflet to track volunteers and requests on the Maps. SQLite is being used to maintain the database of volunteers and requesters. Twilio is being used to update the new user after they are on-boarded. Our platform has a one-click deployment feature using Heroku and it is scalable.

Challenges we ran into

  1. Tracking live location of volunteers
  2. Integrating various platform and applications seamlessly
  3. Training a machine learning model to classify the urgent status
  4. Building a platform with one-click deployment in mind

Accomplishments that we're proud of

  1. Create an end-to-end platform ready for use
  2. Tracking live status of the requests raised
  3. Prioritizing the urgency status using the NLP model

What we learned

  1. Training Machine Learning model using Natural Language Processing

What's next for GetSewa

  1. Add more type of request categories
Share this project: