feat(platform): build collaborative workspace tool
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- postgres, react
- Domain
- authentication, databases, full-stack, web-dev
Research direction
Start by evaluating HedgeDoc as the proposed foundation, then compare that approach with the current React SPA and the listed real-time, authentication, storage, and integration requirements. The issue provides no files or tests to run; a useful outcome would be a decided MVP scope and implementation direction after the membership system is stable.
Written by the indexing model from the issue text.
Description
Summary
Build a custom collaboration tool at `collab.us-rse.org` inspired by HackMD (real-time collaborative Markdown) and Notion (structured pages, databases, wikis). This replaces Slack Canvases and gives working groups a persistent space for living documents, meeting notes, project plans, and shared references.
Requirements
Core Features (MVP)
- Real-time collaborative Markdown editing (multiple cursors, conflict resolution)
- Document organization: workspaces per working group / affinity group
- Folder/page hierarchy within each workspace
- Version history (view and restore previous versions)
- Permissions: workspace-level (who can view/edit), document-level overrides
- Rich Markdown rendering (tables, code blocks, math/LaTeX, Mermaid diagrams)
- Export to PDF/Markdown/HTML
Workspace Structure
- One workspace per Working Group
- One workspace per Affinity Group
- Board workspace (private)
- Public workspace (community-wide shared docs)
- Personal workspace per member (private notes)
Authentication
- WorkOS SSO integration — same identity as us-rse.org and chat.us-rse.org
- Role mapping: WG chairs get workspace admin, members get editor access
- Guest/read-only access for public documents
Integration
- Link sharing (paste a collab.us-rse.org link in Zulip, get a rich preview)
- Embed documents in the main US-RSE site (e.g., meeting notes on WG pages)
- n8n integration (trigger workflows when documents are updated)
- Notification when a document you're subscribed to changes
Future Features (Post-MVP)
- Notion-style databases (tables with views, filters, sorts)
- Templates (meeting notes template, project proposal template)
- Comments/inline discussion on documents
- Offline editing with sync on reconnect
Context
This is a future build — not blocking the Slack migration. Priority order:
- #1924 Zulip (chat) — immediate
- #1925 n8n (workflows) — alongside Zulip
- This issue (collaboration) — after membership system is stable
The current site is a React SPA. This tool could be a separate application or an integrated section of the main site, depending on complexity. HackMD's open-source edition (CodiMD/HedgeDoc) could serve as a foundation rather than building from scratch.
Implementation Notes
- HedgeDoc (formerly CodiMD) is the open-source HackMD. It provides real-time collaborative Markdown editing out of the box and is self-hostable. Evaluate whether to use it as-is, fork and customize, or build from scratch.
- Real-time collaboration requires operational transforms (OT) or CRDTs — libraries like Yjs or Automerge handle this.
- Consider Tiptap (ProseMirror-based) for a richer editor beyond pure Markdown.
- Postgres (NeonDB) for document storage, with JSONB for structured content.
- WebSocket server for real-time sync.
- Dominant language
- HTML
- Stars
- 33
- Forks
- 104
- Avg merge
- 12h 3m
- Merged PRs (30d)
- 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from USRSE/usrse.github.io
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
USRSE/usrse.github.io#2001 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
USRSE/usrse.github.io#2000 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1991 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1948 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1947 · 1 comment ·
All issues in USRSE/usrse.github.io
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getgrav/grav-plugin-api#45 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sisaku-security/sisakulint#647 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
yunaremaia/driftcheck#246 ·
-
Docs say approvals.mode defaults to smart, but code falls back to manual when the key is absent Openarea/config comp/tools P2 sweeper:risk-compatibility type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NousResearch/hermes-agent#117341 · 1 comment ·
-
bug good-first-issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
yunaremaia/taintrace#110 ·