Skip to main content

Features

Each feature page follows the same shape:

  • Description — what it does and who it is for
  • Setup — what must be configured before it works
  • Integration — how frontend, backend and WebSocket fit together
  • How it works — annotated code from the real source
  • Testing — automated coverage, and manual checks
  • Demo — a walkthrough video

Features are documented here rather than under each layer because almost every one spans all three. Voice calls, for instance, touch React components, API routes and the WebSocket signalling path — splitting that across three sections would tell the story three times and completely nowhere.

The four areas

FeatureLayersAutomated tests
Groups, chat & notificationsAll threePartial
Workspace boardsAll threePure logic only
Code editor, VCS & GitHubAll three + git serviceNone
Voice & videoAll three + LiveKitStrong — 11 files

Dependencies

Auth (GitHub OAuth)
└─ Groups ──────────────┬─ Chat ─────── Notifications

├─ Workspace boards

├─ GitHub link ─ Code editor ─ VCS

└─ Calls (LiveKit)

Groups are the root. Nothing except authentication works without one, so that is the first thing to build when testing any feature by hand.

Configuration by feature

FeatureNeeds
Groups, chatDatabase, WS_AUTH_SECRET
BoardsAs above
Code editorGitHub OAuth, ENCRYPTION_KEY, git service
AI assistantGROQ_API_KEY
CallsLiveKit keys
Avatars, draftsS3 credentials

Start with groups and chat — they need the least configuration and exercise the WebSocket path that everything else depends on.