5
7 Comments

I built an AI interactive fiction platform for families. Here's what I shipped and what I learned.

A few months ago I started building something I couldn't find anywhere else: a platform where families could step into an AI-generated story together and actually shape where it goes.

The core idea is simple. You pick a world, make choices, and the story branches based on what you decide. Every node is generated fresh by the AI - not pre-written, not templated. The narrative adapts to your path.

What makes it a little different:

Narrative consistency across branches. The hardest problem in branching AI fiction isn't generating text - it's keeping the story coherent when users can go back, take a different path, and explore an entirely separate branch of the same world. That was a core design decision from the start: I wanted users to be able to backtrack and make different choices without the story falling apart or contradicting itself.

To make that work, I built a system that extracts "world facts" and "branch facts" asynchronously via a queue, stores them in a vector database, and retrieves relevant context before generating each new node. So characters remember what happened three branches ago. The world follows its own rules. And when you go back and take the road not taken, the story still holds together.

AI-generated audio narration. Every story can be listened to, not just read. Narration is generated alongside the story content dynamically, so it works regardless of what path you take. Bedtime stories with your kids, an immersive solo experience - it opens up more use cases than I initially expected.

Imagen-generated cover art. Each world gets unique AI-generated cover imagery. Small detail, but it matters for the "this is a real product" feeling.

The stack is SvelteKit on the frontend, Python/FastAPI on the backend running as a Lambdaolith on AWS, DynamoDB, SQS, and Vertex AI for the LLM layer. Three tiers: Scout (free), Explorer ($10/mo), Cosmonaut ($25/mo).

I launched beta a few weeks ago via LinkedIn. 22 users, zero errors. Quiet launch, but clean.

The thing I'm still working through is cold-start UX - what does a new user do when they land and there's nothing there yet? I've been shipping featured worlds and prompt templates to solve for that. It's an ongoing problem.

Audio narration is also the dominant cost driver at roughly $0.15/node, which shapes a lot of the pricing and tier decisions. That tension between "the feature that makes it magical" and "the feature that's expensive to run" is something I think about a lot.

If you're working on anything in the AI consumer / interactive fiction / edtech space, I'd love to compare notes. And if you want to try it — cosmonaut-ai.com.

posted toAvatar for product Cosmonaut
Cosmonaut
  1. 1

    The narrative consistency system is the real moat here. Most AI story tools just generate text and hope it makes sense. Building a vector-stored world facts system that keeps branches coherent is the kind of infrastructure that makes this a product instead of a demo.

    22 users with zero errors on something this technically complex is a great first signal. Clean launches matter more than loud launches.

    The cold-start UX problem is worth obsessing over. Featured worlds are the right move. I'd also consider a "start in 10 seconds" flow where the user picks one thing (genre, character type, or setting) and the system handles the rest. Reduce the decisions needed to get into the first story moment. Once they're hooked, they'll come back and build custom worlds.

    The audio cost tension is interesting. The fact that it's your best feature AND your most expensive one is actually a good sign. It means you have a clear value driver for premium tiers. Most founders struggle to find a feature worth paying for. You already have one.

    Smart build. Keep shipping.

  2. 1

    This is really well thought out — especially the narrative consistency part.

    Feels like the hard problem here isn’t generation, but keeping the experience engaging once users land.

    1. 1

      Definitely agree. One of the core tensions I’ve tried to balance is the tension between wanting users to feel engaged while not wanting to overly gamify the experience. I really like the original choose-your-own-adventure books because they’re more of a shared family experience than a game, and that’s something I wanted to emphasize with Cosmonaut.

  3. 1

    Really impressed by the technical depth here, especially the narrative consistency system with vector-stored world facts and branch facts. That's the kind of unglamorous infrastructure work that makes the difference between a toy demo and a real product — most AI apps just send context in a prompt and hope for the best.

    The cold-start UX problem you mentioned is one we've wrestled with too (we're building an AI ad creative tool). Our version of it was: new user lands, pastes a URL, but has no mental model of what "good output" looks like yet. Featured worlds and prompt templates sound like the right move — giving people a curated starting point so they can experience the magic before they have to create from scratch.

    The $0.15/node audio cost tension is fascinating. Have you explored letting users toggle narration on/off per session so the free tier stays sustainable without audio, while paid tiers get the full experience? That way the "magical" feature becomes a natural upgrade driver rather than a cost burden across all tiers.

    22 users with zero errors on a beta this complex is a strong signal. Congrats on the clean launch.

    1. 1

      Thanks for the response!

      Yes - we currently support audio generation on a per-segment, opt-in basis. Free users get 10 generations for free just to give them a sample of the product; I genuinely think it's one of the better features of the platform.

      The big dilemma here (from my perspective) was how to structure the paid tiers. I considered two main options: bundle in audio for all tiers (and thus increase the price point for all tiers), or have only the top tier include audio. There are trade-offs for both: again, the audio is one of the best features, so leaving paying users without it is a big downside. On the other hand, if there's a class of users that don't really care about audio, it feels like a missed opportunity to have them paying a premium price point for a feature they don't use.

      Curious if you've encountered any issues like this before, and how you've approached them. What pricing model do you think makes the most sense here?

      1. 1

        Great question — we've hit a similar dilemma with our AI generation costs. Our approach has been to keep the expensive feature (in our case, multi-platform ad generation using Claude + image models) available across all paid tiers, but limit the volume. So the differentiator isn't access to the feature, it's how much of it you get. That way every paying user experiences the magic, and power users self-select into higher tiers based on usage.

        For your case, I'd lean toward including audio in both paid tiers but with different limits — say Explorer gets 50 narrated nodes/month, Cosmonaut gets unlimited. That avoids the awkward gap where a paying user still feels locked out of your best feature. The 10 free generations is smart too — it's basically a product-led sales motion where the free sample creates the desire to upgrade. The users who don't care about audio were probably never going to convert to higher tiers anyway, so you're not leaving money on the table by not charging them more for it.

        1. 1

          Yeah - that's essentially where we've landed too. We've capped the two paid tiers differently currently. I think the future consideration for me is if we add an ultra-low cost tier with no audio, simply because we could price it at $3-5 rather than $10 or $20!