We wanted to design a platform for interacting with a chatbot using python. This came from an idea to build a messaging platform built around the twilio api.
What it does
It opens an interface that allows the user to issue several different commands to a custom made chatbot. The chatbot can translate words, play trivia games, do basic math, and lookup the weather. The chatbot history is available from the server as JSON.
How we built it
The entire project is built out of python. The GUI uses tkinter, the chatbot AI uses Text Blob, and the backend database and api calls are built on a flask server.
Challenges we ran into
We had trouble integrating any natural language processing and implementing several different possible commands. It was also a challenge to setup the flask server and to interact between the program and the server.
Accomplishments that we're proud of
We're proud to have a functional final project. The chatbot will listen and respond to commands appropriately, and all of the interactions with the chatbot are saved to the server as JSON.
What we learned
We learned a lot about functional python programming, since neither of us had really used python in this depth before. We also learned about making a GUI in python, and implementing the flask framework for python. This project was very much a learning experience, and something that we are both excited to continue developing even after we arrive back home.
What's next for Hobot
There are many different ways to improve Hobot from here. We could redesign the program to utilize the restful api instead of local memory, we could add support for user to user interaction, or we could expand to our original idea of including text and voice messaging with Twilio. The chatbot AI could be improved to implement a more comprehensive natural language processing library, and to include more commands.