Inspiration

We were inspired by dads from all around the world, and their AMAZING sense of humor!

What it does

This chatbot takes in prompts from the user, and responds with a relevant, rib-tickling, dad joke.

How we built it

We built this chatbot using Python, using Tkinter as our GUI interface and the Free Dictionary and icanhazdadjoke APIs to form topical responses to the user's prompts, along with some easter eggs and other adaptabilities to make it feel like a true conversation rather than calls to a database.

Challenges we ran into

Before this project, neither of us were familiar with creating GUIs. We were writing our API calls using Python, so we decided it would be easiest to use a Python interface to develop our GUI. During this project, we had to see what GUIs existed for the language, figure out which one would be the best fit, then learn how to use the interface library starting from scratch. Learning how Tkinter was designed and how all the different pieces of it work together was the biggest challenge of this weekend. We also struggled to find free, open access, APIs we could use for this project. A lot of the APIs we found were behind a paywall or had a limited number of accesses that would have prevented proper testing of our code. Fining the APIs we did was a struggle, but we were thrilled when our hard work paid off and were able to properly make requests to the APIs and implement them in our project. Attempting to allow it to build from a .exe to improve accessibility was also difficult, and it required an area of expertise we had never encountered before.

Accomplishments that we're proud of

We are proud of teaching ourselves all of the different aspects associated with this project and the entire process of building a self-sufficient program. We were unfamiliar with how to make requests from APIs, and completely inexperienced with creating a GUI. Learning how these aspects of the program work and then figuring out ways to implement them was very challenging, but we improved as programmers by challenging ourselves. It's really fulfilling to create a project from scratch and learning all of the key components that make it up along the way. The GUI, while maybe not as polished as an experienced developer's interface, also turned out more functional and robust than we first expected.

What we learned

We learned how to make calls to APIs using Python (and Java, though that code didn't end up in the final product). We also learned the basics of making GUIs, specifically using Tkinter. We can now take these basic skills and implement them in future projects that might be improved with these features. We learned how difficult and frustrating building a fully functional autonomous program is from the ground up, and the challenges associated with it, but came out of it as stronger programmers by essentially teaching ourselves a technique we had no experience with, in less than 24 hours.

What's next for boyidiot's Neural Network

Our project will continue to run, and provide joy to all who use it! (As long as the used APIs are still maintained and available). If at all possible, given the drive and free time, adapting and adding to it would be fulfilling. While the project itself may not have a great scope or extremely useful applications, it is certainly something that has taken our time and effort and is meaningful because of that.

Built With

  • api.dictionaryapi.dev
  • icanhazdadjoke.com
  • python
  • tkinter
Share this project:

Updates