I’m excited to share the project I’ve been working on for a while now called Nuvvel, which utilizes AI to generate detailed, rich stories for avid readers. You might think of it as a mix between an endless Netflix series and a dedicated Wikipedia for each series. The platform features interconnected characters, each with their own story arcs, and immersive locations where events unfold, connecting everything together.
Each series begins with a story arc told over many chapters. Once a chapter is unlocked, it becomes available for everyone to read. Some chapters might already be unlocked by others, while others remain locked. Using credits from a membership plan, you can unlock new content. The AI generates new content on the spot, advancing the series for you and future readers.
Unlike traditional media, Nuvvel series have no finales. The stories evolve continuously without being cut short due to budget constraints or author burnout. It's a truly evergreen platform where an audience of one is enough. I believe this is the future of digital literature. While there are certainly quirks and artifacts of AI in its current form, it is exciting to see the stories get better and better with each new release.
The system currently utilizes a combination of GPT-4O-mini and Claude-3-5-sonnet. These allow stories to be generated in about 35 seconds, which I anticipate being under 10 seconds by the end of the year without sacrificing quality and functionality.
——
Challenges overcome? Overall I’ve gotten system to be really good at creating cohesive stories with chapters that lead well into each other, are engaging and can be expanded upon indefinitely. From here everything else will just require further tweaking and it will only get better as the models improve. I started this project 6 months ago and the stories were no where close to as good. When generating a new series, Nuvvel currently will make up to 24 LLM API calls. Adding a chapter to a story requires only 3, and they contain approximately 10k of input tokens and 3k output tokens.
——
Current limitations? There are a lot! Having generated hundreds of stories, the individual stories tend to be well-formed overall but have a few aspects that I hope will improve as the models get better over time. Across stories, there tends to be repetition in names given a specific theme. Getting a variation in names (Voss and Blackwood are LLM favorites) is challenging. Within a story, the favored use of words like ‘shadows,’ ‘echoes,’ and ‘tapestry’ are used too frequently. Model output limitations currently dictate the length of the chapters and overall story arcs. The prompts have to be broken up and structured to accommodate many of these limitations. Lastly, there are inherent biases in the model outputs, such as female characters usually having piercing green eyes, and without direction, stories are given a female protagonist unless it is something like a war story. If you have insights or recommendations on overcoming these limitations, please leave them below.
——
Image generation? The text generation is currently fully automated. I have built out the system to incorporate images, although the state of the art for images is not quite where I need it to automate it. I’m currently using Midjourney; however, there isn’t an API yet. There are still lots of challenges in getting consistent characters and styles. So for now, character and location images are handled manually. It’s just a matter of time though. Anyone working on an image generator with APIs, please reach out.
——
Translation & Audio? These two areas will tremendously benefit Nuvvel’s users, and I would absolutely love to incorporate them. However, as AI is incorporated into devices natively, it may not be necessary to incorporate them into Nuvvel as a first-party service. My plan is to hold off a bit and see where the trends go on these. The costs will need to come down dramatically to be worthwhile on this amount of text.
—-
Your feedback is greatly appreciated, and I would absolutely love to connect with anyone working in this area.