In the modern society, the internet has brought us closer together. It has given us access to information from all over the world, but at the same time, we see that people are continuing to consume content that reinforces their existing attitudes and believes.

How much do you know about other countries? You can easily search google but only if the question has an answer. What if your question about that country doesn’t have one clear answer? Say, “Where do Americans find happiness?” Will you generalize the whole country based on a single search result from google? Shouldn’t we listen to more opinions from the people who actually live there? This is why we made a chatbot ‘BeBridge’. We gather the questions and answers from the strongly validated facebook users so that people can get the opinions from the natives, and stop generalizing based on the skewed information.

What it does

If you access the BeBridge facebook page, you can start asking or answering questions about countries all around the world through Messenger.

There are two main functions you can use.

First, you become one of the representatives of your country. You can answer the questions about your country. These questions are asked by users from all around the world who are curious about your country. If you know the answer or have an opinion about the question, you can answer it and it will be delivered to the people who asked it through the Bebridge. You can also see how others think about the same questions.

When you answer

Second, you can ask questions about other countries those you wish to know more about. When you submit your question through Bebridge, it will be broadcasted to the people from the country. You can also look at what has been asked to the country besides your question.

When you ask

All the questions will be classified and labeled as an appropriate category through our machine learning algorithm. So that we can keep presenting them with relevant questions to their interest based on the user activity.

How we built it

  • Environment: AWS
  • Messaging Backend: Node.js
  • Machine Learning Layer: Python, Scikit learn
  • Data Layer: MongoDB, Elasticsearch
  • Facebook Tool: Messenger Template, Messenger NLP, Graph API

System architecture

Challenges we ran into

  • How can we maximize the user-experience in the chat environment?
  • How can we cluster and classify the categories of questions?
  • How can we identify and group similar questions?
  • How can we work efficiently in the remote environment?

Accomplishments that we're proud of

We are really proud of our team. Our situation was very special. Three teammates were working in all different countries (California, Norway, South-Korea).

From the beginning to the end, all process had to be done remotely. At the first meeting, we all thought it would be difficult to be worked out well because of the time difference and lack of interaction between us.

However, as we had a limited chance of meeting, we had to maximize the efficiency of our process. We became more responsible than when we worked in the normal working environment. Also, thanks to the time difference, our product could be developed 24 hours every day.

With this project, we showed how to cooperate efficiently in the remote working environment and proved physical distance is not a big deal when programming and cooperating.

What we learned

We three developers learned about real collaboration. It was really important to distribute the tasks efficiently because of our geographical limitation and time difference issue.

Our main focus was to avoid the bottleneck of workload. We tried to work simultaneously without waiting for other developers to finish their task. This required us to set a clear role for each member and to prepare three to four optional tasks so that we do not fall into bottlenecks.

Regardless of the product, this experience itself was the biggest achievement for us.

What's next for BeBridge


  • Adding 'Friend Request' feature so that people who had talks with each other, can be friends in the end. (Maybe they can visit each other's country!)
  • Adding 'Badges' for each country's representatives, so that users who answer lots of questions get motivated.
  • Adding 'Giving Opinion' feature that can give feedbacks to answers that are from same country.

User Experience

  • How to decide the right time that user should receive the answer from other users. Not middle of the chatting.
  • How to make user more engaged for asking and answering questions.

Machine Learning

  • How to classify before getting lots of users' data
  • How to classify if the question or answer is valid.
    • Detecting invalid questions & answers. (etc. "Who are you?" kind of questions).

System Architect

  • How to scale the server to handle thousands or millions of users and requests.
Share this project: