≡

Conversation Branches

Local-first branching interaction writer.

Me Other

Use plain text for speech and [brackets] for behavior, silence, or gesture.

Help

How to use it

Start with the opening move. Use Continue to write the next turn in the conversation. That creates a child reply and moves the exchange deeper.

Use the bubble … menu for editing actions, deleting a branch, collapsing replies, or adding an alternate reply.

An alternate reply creates another reply to the same parent bubble in the same speaker voice as the bubble where you opened the menu.

Reading branches

If a bubble has more than one child reply, that becomes a choice point. The numbered sibling replies beneath it are competing ways the conversation could continue.

Tap the body of a reply bubble at a choice point to temporarily hide its competing siblings and their descendants. Tap the same bubble again to show the full fork.

Use Collapse replies in the bubble menu when you want to temporarily hide everything below a line.

Writing conventions

Use ordinary text for speech.

Use square brackets for behavior, silence, gesture, or action, for example: [long pause], [looks away], or [voice softens].

Bracketed behavior is shown differently from spoken text so the mixed nature of a real interaction stays legible.

Suggested uses

Use this to plan a difficult real conversation before it happens, especially when you want to rehearse multiple possible responses.

Use it to work through an imagined unfinished conversation, including one that cannot happen in real life, by writing several possible turns instead of forcing a single version.

Use it to compare how much the exchange changes when one line is softer, firmer, evasive, grieving, defensive, or unexpectedly kind.

Privacy and backup

This MVP is local-first. Your conversation is stored in this browser only unless you explicitly export it as JSON.

Use Export JSON for backup. Use Import JSON to restore a saved conversation on this or another device.

© 2026 Personeum