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 source library so the wiki compiler can use it on the next pass. Today-origin drafts keep their opportunity id, related wiki ids, and source feed item ids in the Studio context block, but only the working draft prose is filed as source text. That keeps scaffolding out of Memory while preserving the audit trail from live feed evidence to Today card to your draft.

Studio can also record a draft as a posted angle. The same Today provenance travels into the posted-angle activity metadata, so later outcome learning can be traced back to the originating Today card and its live sources without Sadie ever posting for you.

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 keyed by collaborator email; when transactional email is configured, Sadie also sends a share link. There is still no SSO. See the Access surface for how to share.

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