Inspiration
The inspiration for creating the PlotPatch came from a desire to merge technology with creativity to mitigate the "blue" and "emptiness" feelings after finishing stories. As an avid fan of both programming and storytelling, I wanted to create a tool that could aid story lovers by generating contents related to the plots and helping them engaged in similar interests groups. The goal was to provide a playful and innovative experience for readers/audiences to engage with characters from their favorite stories or their own creations, to turn the after-plot "blue" to creative contents.
What it does
In the hope of helping people mitigate the feelings of "blue" and "emptiness" after stories, PlotPatch generates related contents based on users' creative ideas. The featured functions including a fan fiction generator, and an interactive character chat bot. The fan fiction generates stories based on the framework of the original plots, in addition to users' brainstormed ideas on possible different roles of characters, the relationships between them, stories that are going to happen, etc. The character chat bot allows users to "chat" with a character in the story, just like chatting with a friend! Other than these, PlotPatch also suggests similar work and social interest communities for users who like to extend their love for the work to other activities.
How I built it
The project was built using a combination of modern web technologies:
- HTML5 for structuring the content.
- CSS3 for styling.
- JavaScript for client-side scripting, handling user interactions, and making asynchronous requests to Gemini API.
The backend was envisioned to leverage NLP techniques to analyze user input and generate coherent responses that are more specific to the plots the users are interested in.
Challenges I ran into
- API Integration: It is my first time making use of Gemini through API interactions. Handling asynchronous API calls and managing state based on these responses was a new experience for me.
- API Config: I was not familiar with several restriction and possible triggers of Gemini, specifically, my attempts of getting responses was often blocked for safety reasons initially. Making use of resources such as the Google Developer Community Discord and Gemini API documentations, I was able to set some of the configurations and solve the problems.
Accomplishments that I'm proud of
I successfully built something with Gemini, which was exciting for me since I was new to Gemini before the project. I was also able to bring the idea of turning the "emptiness" feeling after engaging in stories into creativity to life, with the help of Gemini.
What we learned
Throughout this project, I learned a great deal about web development and Gemini. The technical skills acquired include:
- Front-End Development: Sharpening my abilities in HTML, CSS, and JavaScript.
- API Integration: Implementing Gemini API to process natural language and generate responses through several interaction format, including text to text generations, and multi-turn conversations, etc.
What's next for PlotPatch
I am excited to extend PlotPatch's features. Things I have in mind are, generating fan arts based on the story and users' creativities, and generating videos using the fan fiction stories. In my opinion, visual contents are also engaging contents, especially when the original work is video/image based.
I am also trying to work on investigating and mitigating ethical concerns that might arise in the process of content generation, to make sure a more inclusive and fair environment for story lovers.
Project Reflection: Building PlotPatch
Building the PlotPatch was both challenging and rewarding. It pushed me to apply a range of skills in web development and artificial intelligence. This project not only enhanced my technical proficiency but also deepened my appreciation for the intersection of technology and the arts. Being able to make one of my ideas come into life is encouraging. It makes me realize that there is a lot more people can do with whatever feelings they have towards simple things around them.
Log in or sign up for Devpost to join the conversation.