Skip to content

Studio

Studio is where you write. It is the first-class writing surface in Sadie, built on Tiptap with Yjs for real-time collaboration. Documents live inside workspaces, each with a color and a slug. Document kinds include draft, note, brief, essay, and post, and a document moves through draft, published, or filed status as it matures.

The editor uses Tiptap with the collaboration extension bound to a shared Y.Doc. Persistence has two layers.

Local. A y-indexeddb layer keeps your work safe through a browser refresh without a server round-trip. You can work solo with no websocket running and nothing gets lost.

Multiplayer. A lightweight y-websocket server mediates real-time collaboration and awareness. Cursor positions, collaborator names, and presence colors flow through Yjs awareness. In self-hosted setups you run the websocket alongside the app; in SaaS it is managed for you.

Yjs state is periodically flushed to durable storage so the full document survives across sessions and devices. A derived plain-text field is kept for search and the compiler.

Comments are anchored to character ranges, not to nodes. This keeps the anchoring simple and stable across small edits. Each comment carries an author, a color for display, a body, and a resolved flag. You can resolve, reopen, or delete your own comments.

When a document reaches a polished state, you can file it. Filing promotes the document content into the wiki compile pipeline as a source. The document records which wiki entry it was filed into, so you can navigate from an entry back to the original draft. This is the clean path from “I wrote something real” to “my wiki knows about it”.

Sadie runs the policy engine on every document save, but Studio is the one surface where enforcement is record-only. Violations are logged so you can see where your own writing diverged from rules you set, but the text is never mutated. Your editor is your space. The signal is informational.

This is different from chat and brief generation, where block and rewrite policies actively shape output.

Workspace-scoped roles: viewer, commenter, editor. These are local grants today, not email invitations or SSO. See the Access surface for how to share.

  • Wiki for where filed documents land
  • Conversation for attaching a Studio doc as chat context