Trivia Spark:
Welcome to the kickoff of the Trivia Spark application! Trivia Spark is my experiment in using ChatGPT to help me develop a trivia application. My goal here is to document the collaboration with ChatGPT as the project develops. I will be updating this page as the project progresses.
You can follow along with the project on GitHub.
- Collaboration with ChatGPT (a.k.a. Chat)
-
The Trivia Spark application came about when I was working with open public APIs. I found the Open Trivia database API and saw that it had an easy-to-use endpoint to get trivia questions. I wanted to see how using the Open Trivia Db as a starting point, I could use Chat to help quickly build an application to present trivia questions and show the result.
Chat was able to provide suggestions and ideas for different approaches to take when I got stuck on a particular problem. I would explain the issue by asking leading questions, and then Chat would provide suggestions on how to resolve them. Many times Chat would provide a code snippet.
Chat was also able to help me speed up development by creating code snippets that I could use in the project. This allowed me to spend less time on repetitive tasks and more time on more complex parts of the project.
One of the most significant benefits of collaborating with Chat was the ability to quickly prototype different ideas. I would come up with a concept and Chat would provide feedback and help iterate on it until I had a working code.
- Chat As Trusted Advisor
-
In the development of Trivia Spark, Chat and I were able to work together to create a successful prototype in a short amount of time. One example of a discussion was around the concept of Match Mode and how to implement it in a flexible and maintainable way.
At the start of the project, I was unsure about how to handle the different modes of play in the Trivia Spark game. Chat suggested using an enum and a dictionary to map the enum values to different implementations of the IMatchService interface. I was able to quickly implement this approach and it provided a great foundation for the project moving forward.
In looking at the Match Mode (type of play) I was trying to figure out how to best handle the creation and management of a Match Model instance. Chat suggested using a lazy loading approach with error checking to ensure that the model was properly initialized before use.
Throughout the development process, we were able to quickly iterate on different approaches to tackle various challenges. Chat's expertise in software development and ability to provide clear and concise solutions proved invaluable to the project's success.
Overall, the collaboration highlights the benefits of working with experts in the field to accelerate development and create successful software projects. Unlike other developers, I have collaborated with, Chat was able to take criticism and make adjustments without getting snippy.
- ChatGPT vs GitHub copilot
-
I have also been using GitHub Copilot to help with the development of the Trivia Spark application. I have found that GitHub Copilot is a great tool for helping with the development of the application.
GitHub Copilot is a new AI-powered code auto-completion tool that was released by GitHub in 2021. It uses advanced machine learning models to suggest code snippets and entire functions as you type, making it faster and easier to write code.
In using Copilot, it works like traditional Intellisense in Visual Studio by providing suggestions based on the current context in the code editor. It offers suggestions for class names, methods, properties, and other elements that are available in the current scope. The difference between the two is that GitHub Copilot uses advanced AI models that can suggest entire functions or even multiple lines of code based on the context and your coding style. GitHub Copilot takes things a step further by leveraging AI to offer more comprehensive and context-aware suggestions.
Chat In Action
Here are a few screenshots of the types of collaboration that Chat and I had while working on the Trivia Spark application.
Parting Thoughts
The kickoff of the Trivia Spark application was a collaborative effort with ChatGPT. Working with ChatGPT, I was able to prototype ideas quickly, overcome obstacles, and come up with a working application in a relatively short amount of time.
Collaboration between humans and AI models like ChatGPT is becoming increasingly common in the software development industry.
New tools come along all the time, some of which are more useful than others. ChatGPT is a tool that I will continue to evaluate to find ways to improve my development process.
The tools that I use are constantly evolving, here are a few of the other tools I currently use:
For now, ChatGPT falls more into the reference tool category. Which means I use it outside of my primary development tool like Visual Studio or VS Code. Here are other reference sources I use: