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
- facebook-messenger
- gcp
- mongodb
- node.js
- sendapi
- sqlite
- userprofileapi
Log in or sign up for Devpost to join the conversation.