So you want to broadcast some messages to a group of people with minimal hassle. Instead of collecting phone numbers, starting an email list, or creating a Facebook Page, you can use Millifeed.

What it does

Millifeed allows anyone with FB Messenger to create a microblog/feed/broadcast-channel that anyone can listen to. Two messenger chatbots, "Millifeed Admin" and "Millifeed" make it happen. You send your content through messenger to the Millifeed Admin chatbot, and your listeners will receive it through the Millifeed chatbot.

Suppose you wanted to send notifications to people for your event, like pennapps. Here is how:

  1. Chat Millifeed Admin "create pennapps pass123" to create a channel called "pennapps" with password "pass123"
  2. Tell your friends to chat "pennapps" to Millifeed. This subscribes them.
  3. Chat "send pennapps" to Millifeed Admin, followed by a text, picture, or GIF. All subscribers will receive the message through Millifeed bot.

That's the gist of it. Please see the two images in the gallery to see how it looks in the two chats. Users can also unsubscribe at will, and they can explore channels. Admins can share their channel password with other admins to allow multiple people to send content.

How we built it

Chatbots work by specifying an https endpoint, called a webhook, where they receive notifications from their messenging service (FB for us). A node.js server handles our webhook, using the express.js library. The node.js server runs on a linode machine. We store our data in MongoDB.

Challenges we ran into

  1. Figuring out how to run two different chatbots from the same webhook, and allowing the two to interact.
  2. A bug resulting from variable shadowing in javascript set us back by a couple of hours.
  3. We are working on an analytics dashboard for channel admins that displays data about their subscribers. We did not finish this.
  4. Providing help when people type unexpected messages to the bots

Accomplishments that we're proud of

Matt: wrote the code that interacts with the MongoDB and learned FB Messenger Bot API Kenny: learned about http while working on the analytics dashboard Will: created the Message Admin bot, learning how use the API and debug Javascript Yuan: learned how to develop a facebook bot and also further improved his Node.js skills. He also learned the ways to implement http requests as well as some cool Javascript libraries like ngrok. He really enjoyed working with everyone on the team and had many good laughs during the process.

What's next for Milifeed

We are going to submit our bots to Facebook for approval, so that anyone with Messenger can use them. Currently only us developers have access. Coming soon.

Share this project: