Inspiration
Are you ever in a situation where you don't know whether something can be recycled or what to do with things like old furniture? We definitely have been, and we decided to build an interactive chatbot that givs you info on where something belongs!
What it does
Type or speak to the chatbot and ask it where something should go - e.g., "Are banana peels compostable?" The chatbot will respond with some info! This way you never have to worry about not being environmentally sustainable!
How we built it
We used Google Cloud DialogFlow API to build the chatbot and trained our model based on some broad entities (eg - compost, recycle, garbage). We created some intentions with training phrases based on what a user might say, as well as responses. We used ReactJS to build a basic frontend for our application, and Python on the backend to integrate webhooks.
Challenges we ran into
Both team members were new to the Google Cloud DialogFlow API, so there was definitely a learning curve with learning how to build and train a model, as well as integrate webhooks. One bug that took forever to figure out was that we had made an account with DialogFlow with one gmail and it was trying to connect to the Google Cloud Platform with a different gmail that was automatically signed in - 6 hours later, the wonderful mentors helped us figure out why we were getting "permission denied" errors for the API call and we were finally able to interact with our app!!
Accomplishments that we're proud of
The project was overall a lot of fun and we learned a lot through the process! We're really proud of our trained model and how interactive the chatbot is. It isn't perfect, but it's so exciting that it can provide actually useful information and take in a variety of inputs because it uses machine learning and it's not rules based!
What we learned
We learned a lot about integrating 3rd party APIs into an application, how important it is to make sure your credentials are all the same, how to set up environment variables, how to integrate webhooks, and how to persevere through 6 hours of debugging!
What's next for Trash talk
We would like to take our project to the next level by integration Google Maps API so a user can get directions to the nearest recycling depot based on their location. We would also like to build a full database to store all the information about recycling centres across BC!
Built With
- dialogflow
- flask
- google-cloud
- ngrok
- pycharm
- python
- react
- request
Log in or sign up for Devpost to join the conversation.