For writers
Author branching conversations visually.
Test your story before you ship it.
Visual node graph at any scale
A custom canvas editor with content-type colour coding, inline title editing, and level-of-detail rendering. Zoom in to work on a single node; zoom out to see the whole narrative flow at a glance. Scales to thousands of nodes without slowing down.
Scenes that scale
Break your story into reusable, callable units. Each scene has its own intro, update, and outro. Scope variables locally where it makes sense; share globally where it doesn't. Nest scenes for sub-sections of a chapter, or call one scene from another and return when it finishes. Scenes can share the canvas, with soft bounding boxes marking each scene's territory so the boundary is visible at a glance.
Expression language with autocomplete
Conditions read like sentences. Syntax highlighting colours variables,
functions, and operators differently; autocomplete suggests the right
thing as you type. A "?" help panel opens a full quick reference next
to every expression field. Dynamic text with {var_name}
placeholders resolves at runtime, so writers cover situational
variation without near-duplicate nodes.
Want to write your next story in StoryBonsai?
Request Access →Built-in simulator
Messaging-app playback, including video and captions, with placeholder text for un-recorded lines. A breadcrumb of your choices lets you rewind to any past decision without restarting.
Test the story, not just the syntax
Expression tests pin condition behaviour. Define cases (these variables, this play history, this inventory, this time of day) and lock in the expected outcome. Stops "fixed once, broken later" regressions before they ship.
Assertion tests capture invariants the whole game has to satisfy. "The player never enters the boss room without a weapon." "The bartender eventually offers a drink once met." Each assertion has a temporal-logic wrapper (always, eventually, never, until) and one or more lines composed with and / or / implies. Tests run on every edit and live with the field they describe, so renaming a field doesn't break its tests.
Reverse references
Select any node, variable, character, scene, location, item, skill, or tag. Instantly see every node that references it, with the exact field (visible when, event condition, event target) and one-click navigation. Find every place a variable is read or written before refactoring it.
Automated path testing + coverage heatmap
Play thousands of versions of your story to catch broken paths before
players find them. The path tester surfaces what a static scan cannot:
variable min/max violations, unreachable nodes with explanations,
duration mismatches, infinite loops. Five strategies (random,
adversarial, cooperative, greedy goal-seeking, coverage-guided) drive
the tester at different goals, and it walks MoveTo and
AdvanceTime actions alongside choices.
Results without leaving the editor
Every path-test run surfaces inside the editor with statistics, issues, and per-scene breakdowns. Click any flagged node to jump straight to it. No terminal, no context switch.
Project correctness at a glance
Real-time validation surfaces errors on node cards, the minimap, the project tree, and inside the inspector. The Project Validator panel lists every error across the project in one place with click-to-navigate: dead-code flags, meter and bounds warnings, tag validation, and expression return-type mismatches. Catch problems at edit time, not at playtest.
Story beats
Mark the narrative moments that matter inside your videos and audio: "player saw the betrayal," "player met Claire." The engine remembers which beats the player has actually seen and at what importance. Your developers can build recaps, callbacks, and "previously on…" moments from story content you already wrote, with no separate tracking system.
Canvas filters
Combine text, tag, scene, and player filters with boolean operators. Right-click any node to filter by its tags or player. Find anything in any project size, instantly.
Single-player or multiplayer. Built into the runtime.
Author conversations across multiple players. Choices belong to players; the editor keeps it all straight.
Coming soon
In active development.
Style-guide linting. Rules like "max 25 words per choice" enforced at edit time.