Work together. Down to the cursor.
See where people are working, talk on the layer, and turn the conversation into tasks.

Live, not nearly live. Presence you can see.
- CursorsThe pointer, the name, and the tool they are holding.
- SelectionsOutlined in their color, so nobody grabs the same layer twice.
- FollowJump to where someone is working and stay with them.
- CommentsPinned to the layer. Promote one and it becomes a task that keeps its source.
- Who is hereSessions check in as they work, so the room lists who is actually present.
Build on presence. Rooms you control.
The same room events the apps use. You decide who gets in and what they can touch.
import { useVarialFilePresence } from '@varial/presence'
const room = useVarialFilePresence({
identity: { app: 'design', fileId },
title: 'Launch page',
})
await room.start()
// Cursors are whispered between the people in the room,
// so they never touch your database.
canvas.addEventListener('pointermove', (e) => {
room.updateCursor({ x: e.offsetX, y: e.offsetY, targetId: hovered?.id })
})
- OwnerEverything, including access.
- EditorEdit, comment, and resolve.
- CommenterComment and approve.
- Client linkOne file, until it expires.
The rest of the job. Same app, same file.
- ProofSend a version, collect notes on the art, get a decision in writing.
- Brand KitsColors, type, and logos every file reads from.
- InvoicingQuote the job and bill the work that got approved.
- Varial MCPReal project context for your AI tools. Read only.
- ProvenanceA receipt on every deliverable, without your prompts.
Good questions. Short answers.
How many people can be in a file?
Enough for a real team. Rooms are sized for a studio working on one file, not a stadium.
Do cursor positions get stored?
No. Cursors are whispered between the people in the room. Only durable things, like a comment or a task, are written down.
Can clients join a room?
Yes, through a link you control. They get the file you shared and nothing else.
What happens if I go offline?
Your work keeps saving locally and syncs when you are back. Your session drops out of the room list so nobody waits on you.
Is collaboration extra?
No. It is in every plan, including Education.