Building a better community is hard work. While it would be great if we could build an equitable society with a snap of finger, it is not that easy. Society Goals tries to do the next best thing and encourage people to make small commitments every day to improve their local community. If everyone were to do one small thing every day, then we can make meaningful strides towards the goal of a better society for all.

What it does

Society Goals is a Facebook Messenger bot that encourages people to do things every day to improve their local community.

How I built it

Society Goals is a bot built on top of Facebook Messenger using node.js. Amazon Rekognition is used for image analysis. is used for natural language processing for texts a user will send in the message field and texts found in images. Amazon DynamoDB is used to handle sessions.

Challenges I ran into

Occasionally would take a long time to build the language model typically after a bunch of changes were made to the app. However, this was not a big deal since it was an opportunity to think about the UX of the bot as a whole and create buttons to help users along their journey in the bot.

Accomplishments that I'm proud of

First time doing animation in React, granted it is pretty basic at this stage. Also, my first time using

What I learned

How to use, how to do basic animation in React, and AC/DC probably has the best songs to listen to while writing code.

What's next for Society Goals

Get rid of some bugs that I am aware of (squish squish), expand all the animations, and release the bot to a beta group. The goal is to go through the Facebook review process so Society Goals can be released to the general public in December. The December launch date was chosen so as to encourage people to make New Year’s resolutions to improve their local communities. Also add more goal categories with help from our users and non-profits on we can build a more equitable society.

Since only the judges can access my current project, I have released a tutorial on how to analyze images using AWS Lambda and Amazon Rekognition and then send the text detected from Amazon Rekognition to to detect any entities.

Share this project: