This project was inspired by a Facebook group called "Hurricane Harvey 2017 - Together We Will Make It; TOGETHER WE WILL REBUILD" with over 120,000 members that was formed during Hurricane Harvey. This Facebook group allowed people to find support and resources, as well as request and donate items. We found that the process of requesting and donating items could be improved upon. In the Facebook group, people who wanted to donate would have to search through the group to find someone who could use what they wanted to donate. People who needed something, like food, water, or clothes, would similarly have to use the group search or scroll through the group feed looking for someone offering those items.
What it does
HelpPlz is a Facebook Messenger chat bot using the Microsoft Bot Framework that simplifies this process. It allows people to request or donate any item. When someone announces that they can donate a particular item, the bot notifies everyone who requested that item and tells them that they should contact that person. Similarly, if someone needs an item, the bot looks for people who have offered to donate that item and contacts both the donors and the recipient. The HelpPlz webpage also contains a heatmap showing geographic areas that are in greater need of assistance, and lists the most needed items to demonstrate to potential donors that their donations can have a large impact.
Essentially, HelpPlz is like Tinder for disaster relief; it matches donors and recipients based on the items they need and can give.
How we built it
HelpPlz uses the Microsoft Bot Framework and runs on Azure. It uses the LUIS (Language Understanding Intelligent Service) API (part of Microsoft Cognitive Services) for natural language processing, which it uses to detect phrases like "I can donate " or "I need ". HelpPlz uses MongoDB running on Azure Cosmos to store data, and also uses the Bing Maps API to get the user's location from within the chat bot.
The HelpPlz webpage uses Bootstrap and the Google Maps API to display the location heatmap.
Challenges we ran into
We ran into several challenges involving LUIS and setting up the bot framework on Azure. LUIS models took a fairly long time to train, and we had some trouble getting Facebook Messenger to communicate reliably with the bot framework.
Accomplishments that we're proud of
- Using Node.js for a large project
- Learning to use Azure, LUIS, and the Microsoft Bot Framework
What we learned
- Microsoft Bot Framework
What's next for HelpPlz: Disaster Coordination
More features, better error handling and bug fixing, match donors and recipients in a smarter way.