A world-building and narrative simulation engine for fiction writers
Self-hosted. Connects your prose to AI-powered character simulation via Anthropic Claude.
You import your manuscript prose and the AI extracts characters, locations, timeline, factions, and concepts into structured data. Then you can simulate "what if" scenarios, interrogate characters in-voice, and render scenes — all constrained by what the world actually knows at any given point in the story. The engine keeps track of who knows what, who has met whom, and what has happened so far, so the AI can't cheat.
Import your prose — upload .txt or .docx files, or paste chapters directly. The AI breaks long chapters into individual scenes automatically.
Select entries with the checkboxes in the Library list, then click Extract World. Three AI passes run: World Bible (timeline, locations, factions, concepts), Major Characters, and Minor Characters. Each pass tracks progress per entry — if something fails, retry and only the failed pass re-runs.
Browse, search, and edit your extracted world data. Characters carry psychology profiles, knowledge states (what they know, suspect, or are ignorant of), relationships, and voice patterns.
Ask "what if" questions. The engine reasons against established facts and each character's knowledge to give you grounded answers.
Select a character, set the scene and timeline position, then question them directly. They respond in-voice, limited to what they actually know at that point in the story.
Describe a scene setup and watch it rendered in prose. Useful for testing tone, blocking, and atmosphere before committing to your manuscript.
Draft new story elements manually — characters, events, locations, factions. Anything you create here gets sent to Canon Review for approval.
This is where new facts become part of your world, and it's more consequential than it looks. Every approval fans out: the Beat Cop (a background AI pass) reads the approved item, works out which characters and entities are affected, and proposes follow-on patches to their knowledge state (what each character now knows, suspects, or still doesn't know) and their relationships with others. Those patches arrive as gold-accented consequence cards in the same queue.
Read the cards carefully — approving a single event can cascade into a dozen downstream edits across your archive. The split-view diff shows exactly what's changing, so you're giving informed consent to world-state mutations rather than rubber-stamping them. Treat Canon Review as the visibility layer for the consequence engine: if you skim it, you lose track of how your world is actually evolving.
Set the scene context in the sidebar before Interrogating — timeline position and scene description constrain what the character knows and how they'll behave.
Use the "YOU ARE" dropdown in Interrogate mode to roleplay as a specific character from the world. The AI adjusts its responses based on the relationship between the two characters.
Flag interesting AI responses for Canon Review to build your world incrementally. Good simulation results can become official canon with one click.
Each workspace is a separate story project. Switch between them in Settings. Create a new workspace when you start a new story or want a clean slate.
You no longer have to extract from your entire library at once. Each entry in the Library list now has a checkbox on the left. Use the selection bar above the list to quickly pick All, None, or Pending (entries that still need at least one extraction pass). Then click Extract World — only the selected entries are sent to Claude.
This lets you import 20 chapters but extract from just the first 3 to check the output before committing to a full run.
Each library entry now shows three small letters on the right: W M m — representing the three extraction passes (World Bible, Major Characters, Minor Characters).
The colours tell you what happened:
If the Anthropic API is overloaded (the most common failure), the system retries automatically up to 3 times with increasing delays before giving up. Most transient errors resolve themselves without you doing anything.
If a pass does fail after retries, it's recorded on the entry as a red dot. When you click Extract World again, only the phases that failed will re-run — phases that already succeeded are skipped. No duplicate data, no wasted API calls.
If you were away from the screen when a failure happened, the red dots will be waiting for you when you come back. Hover any red dot to see what went wrong.
If you edit a library entry's text content, all three phase dots reset to grey. This ensures the next extraction runs against your updated prose rather than stale data.