Inspiration / What it does

We created a bot that not only helps you with regular support questions, but that also helps you select a phone, see where to buy it and look at its specifications. It can also tell jokes and make some smalltalk. It is fully integrated into Facebook Messenger, and anyone can chat with it!

How we built it

We used Chatfuel for the bot dialog flow and the connection to Facebook Messenger. The support flows were made in Chatfuel. The user can also ask any questions and they receive an explanation of that (questions such as "Who is Bill Gates", "What is iPhone 8"), besides an image. For that we used the DuckDuckGo API that helps us extract information and pictures in a similar manner to scraping a Google search web page. If the bot doesn't know an answer to the question, it attempts to make some smalltalk by 'falling back' to the API integration, which can answer question such as ("How old are you?", or "It's my birthday today" -- actually wishing the user happy birthday then). We used the Google Cloud Translate API to translate any queries from Romanian to English, so that the search results widen. We then translate the answer back into Romanian, and display it to the user. For the mobile phone recommendations, we used FonoAPI, which gives us information about thousands of devices (smartphones, smartwatches, tablets etc). To recommend nearby shops, once a phone is recommended to the user, or if the user wants to know the nearby shops, the bot uses Google Places API to find the nearby Vodafone centers).

All of these APIs were integrated with our own Java backend, that is hosted on Heroku, and that exposes a bunch of REST endpoints for the Chatfuel bot to call.


It can:

  • answer 100+ support questions (and derivatives);
  • tell jokes;
  • make smalltalk;
  • do brief online searches (answering short questions such as "Who is Bill Gates" or "What is Iphone 8");
  • show images of what you're asking (brief online image search);
  • help you choose a phone, by asking you several questions (or just letting you input what you want your phone to have straight away);
  • show you the nearest Vodafone locations where you can buy that phone;
  • show you the nearest Vodafone centers if you want to know the nearest shops (actually based on distance from actual location);
  • after searching for a phone, it stores your personal preferences and shows you a new phone that you might like, daily;

Besides that, as an extra feature, we implemented sentiment analysis on the comments on a facebook page; it rates them positively or negative (in a range), and the lower the rating, the more toxic (and fully irrelevant) the comment is. Using the facebook API, it could be further extended to delete all toxic comments (with swear-words and such) from a facebook page, keeping it clean. It could be connected to the Vodafone page, for example.

Built With

Share this project: