Inspiration

Growing up as one of the biggest comics fans, I wanted to build my first chatbot as a tool that helps not only the new comic readers to quickly find a series that is tailored to them but also the long-time ones who want to get the series they have been looking for.

What it does

ComBot leverages Facebook Messenger features to interact with users in a responsive and easy-to-navigate manner. It has 3 main functions:

  • Recommend: a series of questions and result will be a comic series that ComBot thinks you will enjoy reading based on your responses.
  • Show: a list of top picks that users can chat with an agent if interested in any specific or they have any questions about it.
  • Contact agent: an agent will take over and enter conversation with users.

How I built it

  • Leveraged Handover Protocol to switch between chatbot and agent (currently Page admin), and Quick Replies to give users a convenient and easy-to-navigate experience.
  • Facebook Messenger APIs (Send API, Webhooks, User Profile API).
  • Node.js as backend, hosted in GCP.
  • MongoDB to store data, SQLite to manage in-app states.

Challenges I ran into

  • I was unfamiliar with states in Facebook Messenger so it was challenging to work with cloud-based DB and state management.
  • Testing on local.
  • Planned a logical flow.

Accomplishments that I'm proud of

  • Got a complete, working chatbot with features I initially planned.
  • Was able to solve the challenges I faced.

What I learned

  • Learned the ecosystem Facebook offers to developers.
  • Learned how to use Facebook Messenger APIs/products.
  • Used SQLite as in-memory DB.

What's next for ComBot

  • Add more recommendation questions/Build a more sophisticated recommendation system.
  • Store all data in cloud.

Built With

Share this project:

Updates