We have all, at one point, heard various stories from our close friends and family who asked for help on twitter or elsewhere, and didn’t get it. Thousands of people tweet everyday asking for help, but how many of those actually get the assistance they need? The current pandemic has highlighted the fact that those in dire need of support don’t always get the help they need. We wanted to change that by connecting people to organizations who can help.
What it does
We came up with the idea of a bot which will automatically detect the fact that the user needs help. It will respond to the tweet by tagging the appropriate organizations and the urgency level. Because it is a verified bot (once scaled), the chance of the organization noticing the tweet and helping out is higher. We will also retweet their tweet with varying levels of urgency tags to help the organizations know how fast they should respond. The urgency level will be based on user responses. Future implementations will include DMing the user with the appropriate resources, and necessary steps to take to help resolve the situation.
How I built it
Backend (Madhura, Ayadi, Chirag) Part 1: • We fetched and filtered tweets using the api search feature of tweepy on python, focusing on keywords like 'help', 'emergency' and 'need'. • We made a dictionary of all the fields we thought we would require (user screen_name, user id, mentions screen_name) • Here we faced an issue of not being able to create the bot as we thought.
Part 2: • Our teammate Ayadi suggested to move to JS. • We made the initial chatbot in Node.js, it worked with a mongoDB database to not resend message to previously DM(ed) tweets. • However, we could not get make the response be read and failed at implementing the webhook to respond.
Part 3 (Back to Python): • We stack overflowed our way to find another python package to suit our needs. • We were able to implement most of the features we wanted, however, due to shortage of time we could not implement the database uniqueness.
- We finally made the bot work!!!
Frontend (Kateryna, Kimaya) We used the latest version of Twitter UI to build our prototype using the figma software
Challenges I ran into
• Working with people from all around the world, different time zones! • Trying to analyse the tweets. Overcomplicating basic filteration given time constraints. • Trying to attach webhook for bot responses. • Clearing through the json objects to find correct data • Restricted access to some tools which prevented from achieving the initial goals
Accomplishments that I'm proud of
• I learned a lot. From Node.js, to technologies like webhook, building bots, Figma • Made great new friends. • The bot is super fast.
What I learned
• New technologies like: Node.js, MongoDB, APIs, Figma, NLP. • The workshops were very educative. The team attended almost every workshop and learned something new and great from each one of them.
What's next for @twithelp
The dream: We want to colour code the tweets according to the level of emergency by the user, however, we did not have access to the HTML/CSS of the tweets with the given tools. We also wanted to analyse tweets using NLP, but given the time constraints we decided to stick with the basics. So, we want to implement those features and also get the databse up and running to avoid duplicate tweets. In case we are unable to colour code, we want to encrypt the tags to prevent spamming.
We want to implement @TwitHelp into the Twitter app and start testing it in real-time. Feedback is important to us and that is why we want to hear from users any suggestions and/or features they want to be added to the bot. We believe our bot will make an impact on anyone who seeks help on Twitter, so we are going to send out surveys to gather more data on different types of daily life problems users want assistance with.. We want to continue to make improvements that will make our bot uphold the principles of #fast, #free and #help.