Ideal Interaction Flow
Intent Extraction using Dialogflow
The main reason we sought to build this project was to promote circular and sharing economy practices. We wanted to empower women entrepreneurs to be able to run a business right from their phone. This has been deployed in the form of a chatbot because it can be deployed to WhatsApp, messenger, text message, WeChat, slack etc. The advantage this is that seller listing are stored in one database.
Also, we did not want to build another Grasshopper - a mobile-based programming app by Google. link!. This was informed by doing domain research before starting out in the hackathon.
What it does
So what does Accio do? Accio simplifies the buy-sell transaction of used goods in 2 major ways. First by making it extremely simple for sellers to list items on sale through interaction with a chatbot. By answering a few relevant questions based on the pictures uploaded of the item, they would be able to list products for sale within minutes.
Secondly, for buyers, Accio finds the right product of desired quality and price by again asking them few questions about what they want and then giving them relevant options.
Accio is unique as it unifies the entire buy-sell experience under one seamless chat based interface. Imagine buying the next item on your wishlist through Whatsapp!
How we built it
The code has been written in Ruby, using Sinatra as the framework and deployed with Heroku. A lot of gems such as Twilio-ruby, Dialogflow, json, shotgun etc. have been utilised to achieve the desired functionalities. We have also set up a database in PostgreSQL.
When a user interacts with Accio, it is sent via Twilio to our codebase, after which Dialogflow extracts and conveys the intent back to the codebase. The intent is mapped to the response we want to show to the user. This workflow can be better understood when referring to the Technical Guide.
Accomplishments that we're proud of
- It is working!
- This platform enables female entrepreneurs (and other sellers) to sell their products and services online. This does not require them to download a new application as the buying and selling process can be achieved right in their phone
- Chatbots are the upcoming future of interacting with the latest technology, therefore we are proud that we built a chatbot.
What we learned
- Intent detection in Ruby using Dialogflow
- Deploying code using Heroku
- using a combination of API's to work with Ruby
What's next for Accio
- To detect intents more smoothly. Currently, we have to dig into Dialogflow interaction logs files to check which parameters are missing and which ones are populating data to the user via Twilio.
- Replacing Rakuten Shopping API with actual products listed by sellers and showing images pulled from the database.
- Showing product images captured from URL in the form of cards
- Migrate to a platform better suited for online product exchange such as Google Assistant.
Test it for Yourself!
send "join eggplant-emu" to +1 415.523.8886 on Whatsapp