Inspiration
The idea of TaleTailor was driven by a simple realization that our modern, specifically busy lifestyles do not leave room for any affordable, easy, and engaging entertainment. We wanted to act as a middleman between "reading a story" and "living a story." Inspired by nostalgic and classic "Choose Your Own Adventure" books, alongside advanced video games, we set out to build a platform where your choices tailor your destiny, and creativity is in your hands.
What it does
TaleTailor is an interactive storytelling web application that assigns a “main character” role to a Player in each story prompt. Our platform provides Players with uniquely curated and engaging storylines that keep their entertainment level high and stress levels low. The tales to choose include The Clockwork Heist, The Last Sentinel of Aethelgard, Whispers of the Trench, and The Alchemist’s Debt. After Players select their desired tale, our platform brings the stories alive. We use K2 Think V2 to provide illustrations alongside a readable narrative, used to understand challenges and obstacles within their storyline. The user interface illustrations are redesigned when Players reach a scene change within their storyline, and when that change occurs, K2 Think V2 generates illustrations based on where the plot is headed. The user interface of our platform adds and updates inventory items that Players will need as their story evolves. The inventory items provided at each stage of their story change based on character options selected by a Player. Some examples of inventory items include a copper key, a steam lantern, a mysterious book, etc. Then, Players will be required to choose one decision that a Player believes best fits to answer “What do you do?” in that phase of their tale. As a Player comes to the end of their tale, every decision made by a Player will determine their destiny outcome. TaleTailor brings a perspective of uniqueness as each Player can get different responses for the same tale. In addition, Players are presented with an option to either "Continue" to follow up with their previous game session or select "New Game" to start over with a new story, which has been implemented as a feature in our user interface on TaleTailor.
How we built it
We mapped our logic using Google Gemini, then moved to Enter.pro to design, build, and deploy our immersive frontend and backend architecture. We integrated the K2 Think V2 API as our core reasoning engine to generate logical narrative branches, handle inventory states, and create illustrations for the story. Essentially, we used the model to generate a JSON with attributes like narrative, choices, and inventoryUpdate, which we then extracted and used for the different game components. Each decision taken by the player would create a new K2Think request and generate a JSON that will then be stored in Enter’s native database under the current game session to save the player’s progress. This architecture allowed us to keep persistence of their game state, allowing them to resume game sessions or navigate through their decisions and unique story like it was a book.
Challenges we ran into
Our biggest roadblock wasn't code; it was connectivity. We initially tried using the university's eduroam Wi-Fi, which completely blocked Enter.pro's domain. We worked with Enter’s IT department to resolve the issue, reviewing their DNS records and opening a ticket with Princeton’s IT department. However, time was running out, so we had to find an alternative to start working. We packed up our gear and walked to the Princeton Public Library for free Wi-Fi. When they closed, we relocated to a local cafe to hack until night. Technically, we also struggled with understanding the specific format of K2’s API requests and results. Our code was breaking as it was not understanding the outputs from the API. We overcame it by using Enter.pro to analyze the error and find the origin of the issue to adapt our methods to fit with K2’s API structure.
Accomplishments that we're proud of
We are incredibly proud of our absolute refusal to quit when our primary dev environment was blocked. We walked several miles back and forth to the Public Library and the event location, so we could participate in the hackathon workshops and then continue our coding outside the school. In the technical aspect, we are happy with how seamlessly we managed to combine K2's complex reasoning with our interactive UI, creating a genuinely fun and stable game loop that handles unpredictable user inputs gracefully. And most importantly, we managed to make a fun game!
What we learned
We learned that hackathons test your adaptability just as much as your coding skills. It was also nice to learn how to use Enter’s platform, as it makes it easier to develop applications from scratch. We were especially impressed with how easy it was to connect the frontend with backend features, like databases or external APIs. This is definitely an application we will use again in future projects.
What's next for TaleTailor
We want to expand TaleTailor to be both an entertainment and educational tool. We think it has the potential to help users expand their vocabulary without even noticing. We are planning to add extra features like a Custom Imagination Engine to allow players input a single sentence and have the AI generate an entire playable universe; An Interactive Dictionary as a built-in learning tool where players can highlight complex narrative words to instantly see definitions, making it a powerful reading comprehension tool for students; and Cinematic Audio to provide Sound Effects (SFX) that shift based on the current scene.
Built With
- enter.pro
- eslint
- k2thinkv2
- k2thinkv2api
- react
- tailwind

Log in or sign up for Devpost to join the conversation.