The idea behind the app is to make a recommendation system, there can be many different ideas for the recommendation system like food recommendation, tourist place recommendation, book recommendation etc., but this app has been created for all the Bookholics out there to recommend their perfect book match

What it does

Book Counsellor uses Facebook messenger platform to interact with the bookholics , the app analyze the individual's interest and specifications like type of book(fiction/ non-fiction), genre, any author preferences along with age specification and recommend some book-matches according to individual's preferences. One more feature of this app is that it also gives the user the option to get a one time notification, in case the user doesn't get his/her perfect book match or is not satisfied by our recommendations. In future, if there is addition of books in our database that matches the user's past request, then a one-time notification suggesting the books (name and author) along with their respective genres will be sent to the user

How I built it

All the user interaction interfaces have been handled by Facebook Messenger Platform features perfectly. At backend, I have used Django to create the related webhooks and the functions for accessing various messenger APIs in order to send messages, used Redis in order to store message thread state for the particular user and for storing the books data and as a search engine, have used Elasticsearch. The one time Notification feature has been built using Facebook's One-Time Notification and the Elasticsearch percolator. Two main Facebook messenger platform features used are Quick Replies (for improving messaging experience) and One-Time Notification

Challenges I ran into

Some challenges I ran into (in chronological order) - Maintain a message thread for good user experience, setting up elastic search search engine for getting the required query results, designing of one time notification feature by setting up elastic search percolator

Accomplishments that I'm proud of

I am proud of the fact that I can create full fledged recommendation system with the help of some awesome open-source technologies along with various Facebook's messenger platform features

What I learned

Honestly speaking, I learned about various features which Facebook Messenger provides, which can be used by businesses, firms and the individuals to create a very user-centric chat bot experience. Also, I get to explore more about the open-source technologies which I have used in my project

What's next for Book Counsellor

Book Counsellor is at very initial stage at present, first and foremost have to stack up with lot more data and also there is more which can be done technically in order to built one of a kind recommender system , similar recommender system can be built for other genres like food, tourist places, music, movies etc or a common platform for all these genres can be built. Elasticsearch engine is the one area which can be progressively improved in order to obtain a query result nearing perfection. Also planning to inculcate Facebook Messenger's Private Replies feature to make the app more user-engaging through the facebook page, as user can post his/her thoughts on particular book and we will be asking the user to submit the book characteristics for our database.

Share this project: