Inspiration

When I was a student, I always had the struggle to find when it came to programming languages and computer science concepts as you don't get quality content in one place. So even if I had to study one particular topic, I had to go to multiple links. Then that was the time when I had realized that I have to make an application for others so that I can help and contribute to others by sharing an application like this where they will be able to find the resources all in one place.

Later on when we came to know that, On average teens spend about 45-50 minutes/day on Facebook messenger, and almost every student in today's era has a Facebook account. So that is the day we realized that if we're making an application or a website we will be making something productive and informative application that can help students. So that is why we came up with this idea that we will be making a learn with a bot which will be available on messenger itself so that people do not have to go and search on multiple application onto play store or go to multiple websites.

There's one inspirational quote said by Steve Jobs "Everybody in this country should learn to program a computer because it teaches you how to think”

What it does

We developed a Facebook Messenger chat-bot that helps a student to:-

  • Learn different programming languages or any computer science concepts.
  • Solve programming questions.
  • Take a quiz to make the learning process interesting.
  • Uses Natural Processing Language to make a conversation more natural.
  • Handover protocol is used to pass control to a real person mentor.

How we built it

We spent a lot of time in research to find messenger features, tools to process messages using NLP and APIs which suits us. We worked on multiple layers which included handling postback, responding to messages with appropriate information using NLP, and API interaction.

  • Creating Database using MongoDB to store user information and programming questions.
  • We used Express framework for back-end architecture along with webhook to setup callbacks for our Messenger bot
  • Trained NLP intents for appropriate replies and to guide users.
  • Integration of Search API.
  • Integration of Quiz API.

Challenges we ran into

Our biggest challenge was research. Being the first project in a Chatbot application, we had to do a lot of research to make sure a robust system as well as flexible to add new features in the near future. We were clear with the idea, but right in the start, we knew that implementation will not be that easy as we had to work on multiple layers as mentioned earlier.

Accomplishments that we're proud of

This was our first time building a Chatbot and we enjoyed it immensely. We loved our approach to face the challenges encountered during the project. Speaking of technical accomplishments, we learned the integration of new APIs with Facebook Messenger using the ExpressJS framework and Nodejs. For NLP, we have created intents for appropriate responses which will help the user to chat. We also acquired more knowledge of NoSQL, Nodejs, Webhook. Using Heroku, each commits to master immediately deployed on the server saving us a lot of time.

What we learned

We have learned that a combination of APIs and JavaScript can build awesome applications. Learned how to make an interactive messenger bot and the role of NLP in it.

What's next for LearnwithBot

We have managed to keep the architecture of the app very simple to make it easily scalable by adding topic-wise quiz, best programming question which will increase your problem-solving skill, programming languages and topics. In future, we will also add other subjects like Geography, Economics, etc.

Built With

Share this project:

Updates