I and my partner 81k vibecoded a cowriting website called Gallae (GAHL-leh). In Gallae, posts form a tree that can branch anywhere, any number of places. (Although we encourage users to write in one linear branch when possible to increase readability – affordance to branch is not encouragement to branch.)
The motivation for this structure is to
- Decrease friction to cowriting.
- Increase flexibility in rewriting or versioning a story.
There is a per-post chat where readers can react and cowriters can hash out next directions.
If you wish to join, the registration link is at abc.
ownership
Gallae is staking out one end on the ownership/creative-reuse tradeoff curve: people can build on your work without asking. Publishing a piece here means you’re inviting others to add to it. If you don’t want a particular person building on your work, block or mute them. We don’t referee creative direction — if someone takes your story somewhere you dislike, that’s theirs to do, and your call whether to keep engaging.
posting vs commenting
Any substantive piece of writing should be a post.
Any questions for the author (or audience) should happen in the chat.
Feedback should happen in the chat.
Back-and-forth brainstorming should probably happen in the chat, but if you have a big lump of an idea that takes 3+ paragraphs to explain, it should maybe be a post.
organizing trees
The tree structure offers a lot of flexibility, so you can really do whatever. That said, my intuition is that you should err on not branching and keep things in long linear streams when possible.
Some obvious ways to organize branches are:
- Chronological, where branches mostly mark an alternate way a scene could go, or an interlude, etc.
- Arcs as siblings: The root has children that say “arc 1”, “arc 2” etc, and writing for those arcs go under their arc nodes.
- Putting a story outline as a chain, then elaborating on pieces of that outline by responding to those posts. I can see this one being good if you meticulously plot before writing the story.
Even if you choose one of those schemes, things can get messy. Do leave comments in the post or in the per-post chat to guide readers.
After having posted a dozen or so trees of varying size, what I’m converging onto – at least for novel-length ideas where I’m plotting as I go in addition to writing – is to have three main branches descending from the root post: plotting, chronological story, and stray scenes / exploration writing. The nice thing about this is that you can link a reader who wants an normal story experience to the chronological story.
notifications
You can subscribe to a post or to a chat. If you subscribe to a post, you are notified when any descendant post is published. If you subscribe to a chat, you are notified when a new comment is added there.
Settings flow downwards. If you are subscribed to a root post but unsubscribe from a child of that root, no activity below that child will notify you. If you glance through that subtree and see a descendant you are interested in, you can subscribe to that descendant and everything below it will notify you. When a new card appears in a tree, the setting on the closest ancestor wins.
There are two levels of subscription: the default one where updates or likes show up in your inbox, and a stronger ‘supersubscribe’ where your browser tab displays that you have a notification. Clicking the subscribe button cycles you through being subscribed, supersubscribed, and unsubscribed.
By default, you are supersubscribed to any post you make, and supersubscribed to the chat attached to any post you make. It’s meant for active co-writing, where you don’t want to leave a collaborator waiting.
artificial intelligence
We have claude-ai for cowriting and plot brainstorming, but currently it responds to just the admins (because we share a Claude plan and it costs about a dollar a day of active cowriting). If you never want to see LLM content, mute the Claude account. If getting Claude access on this website is important to you, leave a comment on the AI section of the notice board. We will either whitelist you for our Claude plan (likely if you are a friend) or hurry up and deliver the feature where you can plug in your own Claude API key.
