Team Collaboration
Paideias projects can have more than one researcher on them. The owner shares a project by email; the moment they do, it appears on the invited person's dashboard — no export, no re-upload, no separate copy to keep in sync. Both of you are working on the same encrypted project, live.
Sharing, editing, and real-time sync — both sides at once
Below is a real recording with two actual accounts side by side: the project owner on the left, an invited teammate on the right. It covers the whole loop — inviting the teammate, watching the project appear on their dashboard live, the teammate approving an AI suggestion and deleting a code, and the owner's screen updating automatically to reflect both changes, with attribution.
Watch for three moments specifically: the project appearing in the teammate's Collaborative Workspaces section without any reload, the owner's suggestion count and "Coded by" line updating after the teammate approves a passage, and the owner's code count dropping after the teammate deletes a code — all without the owner touching anything.
Inviting a collaborator
Only the project owner can share it — the share icon on a project card only appears for projects you own. Click it to open the sharing panel.
Revoking access is the same panel — click the ✕ next to a collaborator's name. This removes their database membership and revokes their copy of the project's encryption key in the same action, so removed access is actually removed, not just hidden from a list.
Roles: Owner, Editor, Viewer
Every collaborator has exactly one role, set when they're invited and changeable by removing and re-inviting them.
| Role | Can do | Can't do |
|---|---|---|
| Owner | Everything — code, edit the codebook, delete codes, manage documents, and invite or remove collaborators. | Nothing is restricted. |
| Editor | Everything the owner can do to the project's content — approve/reject AI suggestions, code manually, rename/merge/delete codes, upload documents. | Cannot open the Share panel or manage who else has access — that stays owner-only. |
| Viewer | Read everything — browse documents, codes, retrieval results, charts. | Every write action is disabled: no approving, rejecting, coding, renaming, or deleting. |
How the real-time sync actually works
This isn't a polling trick that happens to feel fast. Paideias subscribes to a live database changefeed for both project membership and project content — when a change happens, connected collaborators are pushed the update directly, typically within a couple of seconds.
- Getting invited pushes a "you now have access" event straight to the invited person's open session — if their dashboard is open, the project appears on it without a reload.
- Any content edit — approving a suggestion, coding a passage, renaming or deleting a code, uploading a document — pushes an update to every other collaborator with that project open, who then silently re-fetch and re-render.
- A 30-second polling check runs underneath as a safety net, in case the live connection drops. It only re-downloads a project if a lightweight timestamp check shows something actually changed, so it isn't expensive even in a long-running session.
Attribution: seeing who did what
Every coding decision — approving an AI suggestion, rejecting one, applying a code manually — is stamped with the username of whoever made it, at the moment they made it.
- In Focus Mode's AI Suggestions panel, every decided suggestion shows a Coded by: or Rejected by: line with the collaborator's account.
- In Retrieval, every passage card shows a 👤 badge with the same information, so you can see who coded a passage without opening the document.
- In the Codebook, a newly-created code shows Added by the researcher who created it, right under its category label.
When to use this
Splitting coding across a team
Two or more people can code different documents in the same project simultaneously — everyone sees the growing, shared codebook in real time, so nobody accidentally invents a near-duplicate code that already exists.
A second coder for inter-coder reliability
Invite a second researcher as an Editor, have them independently approve or reject the same AI suggestions, then compare patterns via Agreement or by reviewing Retrieval results filtered to their username.
An advisor or reviewer who shouldn't change anything
Invite them as a Viewer. They get the exact same live view of the project's progress — codebook, coded passages, charts — with zero risk of an accidental edit.