How a session moves — from arrival to the Text-Graph
The lifecycle of a ButterflyDreaming session follows a simple loop. Each stage is designed to feel like a natural progression rather than a forced procedure. Nothing is rushed. Consent is required at every gate.
A user arrives anonymously. There is no login, no account creation, no profile to fill in. The device session is the user. The system assigns a temporary session identity — ephemeral and unlinked to any personal data.
Immediately on arrival, the user is offered an optional threshold pause — a short guided settling, designed to ease the mind into associative rather than analytical attention. This is not obligatory but gently encouraged: the quality of the encounter is shaped by the quality of arrival. The user then enters the graph browsing experience — the browsing surface of the Text-Graph — where the AI modulator is available as a conversational guide, helping navigate the symbolic field, clarifying references, and surfacing interesting nodes.
Before pairing, the user explores the graph browsing experience alone — wandering through the Text-Graph's symbolic field at their own pace. Nodes are organised in archetype clusters — families of related symbolic themes such as Threshold, Journey, Water/Reflection, Dream/Vision, Wound/Healing, Word/Silence. Users may browse by cluster, follow editorial trails, or wander at random.
The wandering phase is never dead time. Under low traffic conditions — when no partner is immediately available — the user continues exploring. Browsing surfaces include: New & quiet nodes, My recent trail, Random walk, and Seed constellations.
Users may not save a child node during solo browsing. Writing requires pairing. This is by design: the child node is a dyadic artefact, not a personal one.
When a second user arrives, the system pairs them immediately with the longest-waiting user. Pairing is automatic, anonymous, and fair. The protocol is simple: first user waiting + next arriving user → dyad formed.
Pairing happens before node selection, not after. This is a deliberate architectural decision. If users chose nodes before meeting, they risk mismatch and deadlock — A brings a paradox, B brings a folktale, and neither sees an immediate bridge. Pairing before selection means the dyad discovers the graph browsing experience together, which is a qualitatively different experience.
Once paired, shared browsing cues become gently visible. The session enters a shared state.
The paired dyad explores the graph browsing experience together. Subtle interface cues reveal which nodes each participant has paused on, opened, or bookmarked — creating a shared attention landscape sometimes described as a gravity well.
The AI modulator may surface nodes from the Text-Graph that lie between the two users' browsing trails — fragments that bridge their respective symbolic orbits. Two modulation modes are available:
| Mode | Description |
|---|---|
| Dao modulation | Surfaces nodes with high semantic resonance to the dyad's current cluster — deepening rather than redirecting |
| Dream modulation | Introduces symbolic tension by surfacing distant archetypes — productive strangeness, unexpected bridges |
The interface labels these panels simply as Resonant and Unexpected.
Either participant may propose a node from the Text-Graph as a candidate parent for the new child node. This action places the node into a shared proposal area visible to both users. A proposal is an invitation — it remains retractable at any point before the partner accepts it.
The interface uses calm, non-technical language throughout:
A node becomes locked as a parent only when both participants explicitly accept it. The dyad must agree on exactly two parent nodes before the Weave editor opens. Neither user can be moved forward without the other's active consent.
The system never guesses readiness. Readiness is always signalled by explicit action.
When two parent nodes are locked, the Weave editor opens automatically. Both parent nodes remain prominently visible at the top of the shared space. The participants collaboratively draft a new child node — a short symbolic text that captures something of what their encounter produced.
The child node might take any of these forms:
The Weave stage is not primarily a writing task. It is the container for reflection — a way of crystallising what happened in the encounter. The resulting node is intentionally short and symbolic.
The child node is saved only when both participants explicitly approve the final text. If either user edits the draft after approval, all approvals reset. The save action is only enabled when both users have actively confirmed the current version.
This mirrors the earlier mutual consent protocol for selecting parent nodes. Consent is required at every gate.
On save, the child node joins the Text-Graph — the dream-graph. It is assigned a permanent public URL of the form domain.org/n/{node_id} and immediately becomes readable by anyone on the public web.
The dyad may continue — returning to the graph browsing experience to explore further — or the session may end. Either way, the encounter's trace endures in the Text-Graph — available for future participants to find and be moved by.
| State | Description |
|---|---|
| S0 — Solo browse | User explores the graph browsing experience independently. AI guidance available. Cannot save nodes. |
| S1 — Waiting | User is queued for pairing; continues browsing. May draft privately (non-persisted). |
| S2 — Paired | Dyad formed. Shared cues visible. Offer/Accept actions become available. |
| S3 — Weaving | Two parents locked. Collaborative draft editor open. |
| S4 — Signed off | Both users approved. Child node saved and published to the Text-Graph. |
Guest commenting welcome — no account needed. Log in with a Hyvor account to receive reply notifications and maintain a consistent identity.