My life's vision is to build products and services that inspire people and give them the courage to live their best lives. The goal of this project was to enable individuals and small business owners who majorly drive sales of their products and services on social media a way to make sales in a way and place people are already conversant with, right inside messenger and also help them transact online without managing an e-commerce website.
What it does
Hermes is a messenger chat-bot that handles e-commerce activities for individuals and small business owners entirely in messenger, it allows users to add items to cart, view different categories of items, subscribe for notifications for out of stock products, and finally let users checkout and pay from messenger.
How I built it
I used the following messenger APIS in the application Quick replies, One time notification, Natural Language Processing, Persistent Menu, Web view. I built the bot with Express,Node.js, and PostgreSQL database, I built a minimalist dashboard where the page owner can upload products stock, see list of orders, then I used the quick replies feature of messenger to allow users browse the categories of items through messenger carousels, I used the NLP API to process user inputs in some aspects of the application. I used messenger webview to allow users pay online for the products and Twilio SMS to send notifications of successful transactions.
Challenges I ran into
The major challenge I ran into was distilling the entire experience in such a way that makes it similar to traditional e-commerce experiences and not over complicating it with so many commands. I had lots of iterations over the course of the development process, I started with using a lots of commands, but I gradually replaced the commands with more intuitive action buttons. I had challenges properly structuring the database in a way that reduces the number of times I accessed the database, I solved that by using relations so I fetched related data with a single call.
Accomplishments that I'm proud of
I am proud of the fact that this is my first ever chat bot and I was able to build it in less than 12 days.
What I learned
I learned advanced concepts in Node.js like in-memory caching I learned how to execute asynchronous tasks sequentially. I learned how to use firebase storage to handle file uploads. I learned how to relate data together in PostgreSQL
What's next for Hermes
I plan on finding a way to improve the e-commerce experience and also try to extend Hermes to function on Whatsapp or Instagram