We were inspired by the Black Lives Matter movement in recent months and wanted to use this hackathon to help guide people towards the different ways they could make an impact. Rather than count on Facebook users to open a new tab and search for local opportunities themselves, the bot could help them find different opportunities specific to their location all at once.
What it does
The chatbot integrates with Messenger’s private replies and quick replies functionalities to seamlessly refer users to opportunities for participating in the Black Lives Matter movement. After a user interacts with our Page, the bot sends a private reply to the user asking if they want to learn more about the movement. If so, a quick reply is sent to determine exactly what the user would like to do, from donating to emailing local representatives to supporting local businesses and more.
How we built it
My team and I made early decisions to use a simple, lightweight stack with Next.js and Heroku on top of GitHub. We followed a couple tutorials on how to create a Facebook bot from scratch, but we ultimately had to dive into a lot of documentation in order to successfully use the Facebook APIs for our features.
Challenges we ran into
One major challenge we ran into was being able to capture feed events. We spent hours looking over documentation and were almost certain we had programmed the app correctly, but we ultimately discovered that apps in development don’t allow for customizing private reply tests. We were instead supposed to use the test notification in the Webhook page to simulate an outside feed event.
Accomplishments that we're proud of
We’re proud of simply figuring out how to create a messenger bot from scratch. We saw that there were a lot of third-party solutions to doing it, but as software engineers, we were fully committed to implementing the project programmatically.
What we learned
We learned a lot about how to use the awesome Messenger API’s. While thinking about the different functionality we wanted to provide to users, we also learned ways in which we could participate in the movement ourselves.
What's next for Spreading the Movement
We ultimately want to integrate the app with a database to get real, location-specific opportunities, based on the user-provided zip code. (For the purpose of the hackathon, we had just hard coded the responses to the LA zip code 90017.) In addition, we could also generalize the model to any movement. There are definitely opportunities to make this solution even more powerful.