Collaboration

Stoa includes built-in voice and video conferencing so you don't need a separate meeting tool. Every session includes transcription, recording, chat, and meeting notes alongside the code editor.

Voice and Video

Joining a Call

Click "Join Call" in the workspace to enter the room. You can also join automatically with the ?join=true URL parameter.

Join Call button

All participants in a Space share one room. Switching between projects within the Space doesn't disconnect you from the call. You can browse the workspace freely while staying connected.

Video Controls

ControlDescription
MicrophoneMute/unmute your mic. Click the dropdown arrow to switch audio input devices.
CameraToggle camera on/off. Click the dropdown arrow to switch cameras.
Background BlurBlur your background during video calls (requires WebGL2 and WASM support)
Screen ShareShare your screen (via "more" menu)
Noise FilterToggle noise cancellation (via "more" menu)
Picture-in-PicturePop video out to a floating window (via "more" menu)
LeaveDisconnect from the call

Device preferences (camera, microphone selection) are saved to your browser and remembered across sessions.

Video Layouts

The video panel adapts based on available space:

  • Grid view shows all participants visible in a grid
  • Filmstrip shows one large video with small thumbnails. Click a screen share tile in the filmstrip to expand it to full video mode.
  • Compact mode is a minimal view when the panel is small

Audio Quality

Built-in audio processing:

  • Echo cancellation prevents feedback loops
  • Noise suppression removes background noise
  • Auto gain control normalizes volume levels

Screen Sharing

Screen sharing is optimized for text clarity:

  • VP9 with SVC for sharp text rendering
  • H.264 fallback for Safari compatibility
  • Participant's shared screen appears as a dedicated tile in the video grid
  • In filmstrip view, click a screen share to expand it to full size
  • A screen share indicator appears in the navigation bar while you're sharing, with a quick stop button

Room Lifecycle

  • Rooms are created lazily. The LiveKit room only exists when the first user joins.
  • When the last participant leaves, the room closes after 20 seconds
  • If no one ever joins, the room is cleaned up after 5 minutes

Warning

If you navigate away from the workspace while in a call, you'll see a confirmation dialog warning that you'll be disconnected.

Live Transcription

Every session is transcribed automatically in real time.

How It Works

A transcription agent joins the LiveKit room automatically and processes speech-to-text for all participants. Transcription segments are batched and saved to the database every 2 seconds to reduce load.

What You See

  • Real-time transcription appears in the Transcript tab of the meeting section
  • Segments are grouped by speaker with timestamps and color coding
  • Both interim (in-progress) and final (complete) transcripts are shown
  • Late joiners see the conversation history (last 500 segments)
  • Click "Load earlier" to paginate through older segments (100 at a time)
  • Total transcript count is displayed

Transcript Download

You can download the full transcript from the Meeting panel. Downloads are paginated automatically to fetch all segments, even for long sessions with thousands of entries.

Speaker Context

Each transcript segment includes the speaker's current project and file context when available, helping you understand what they were looking at when they spoke.

In-Session Chat

A text chat panel is available alongside voice/video:

  • Send messages with Cmd+Enter (or Ctrl+Enter)
  • Messages persist for the duration of the session
  • Participant avatars are shown alongside messages
  • Chat is available in the Chat sub-section of the Meeting sidebar

Note

People, Transcript, and Chat are only active when you're in a call. Recordings and Notes remain tied to the current session even if you're not connected to the call.

Recording

Session recording is available when enabled for your team.

Controls

  • Host only: only the session host can start and stop recording
  • Record button: visible in the Meeting section when in a call
  • Stop button: an always-visible stop button appears in the navigation bar while recording is active, showing elapsed time (MM:SS). If stopping fails, a retry button appears.
  • Visual indicator: an animated red dot appears when recording is active, visible to all participants

Recordings appear in Meeting > Recordings once processing completes.

What's Recorded

  • Audio and video streams
  • Screen shares
  • Transcription with speaker attribution
  • Chat messages

Meeting Notes

Each session automatically creates a meeting notes markdown file in the workspace project. The AI writes structured notes as your meeting progresses, with labeled items for each detected topic: Intent, Decision, Implementation, Idea, and Open Question.

You can:

  • Edit notes during the meeting (they're a regular markdown file)
  • Review and update notes after the meeting
  • Access notes from the Notes sub-section of the Meeting sidebar

People Panel

The People sub-section of the Meeting sidebar shows:

  • Active participants with names and avatars
  • Join and leave times
  • Microphone and camera status indicators
  • Screen share status
  • Option to create guest invites (see Guest Access)

Note

Guest invite links can be created from the session menu in web and desktop. The People panel invite UI is currently desktop-only.

Share Notifications

Share files and decisions with specific teammates:

Notification Types

  • File shares: share specific files with teammates
  • @mentions: mention teammates in context
  • Decision tags: tag important decisions

Reactions

Five emoji reactions are available on notifications:

  • Thumbs up, Eyes, Party, Heart, Lightbulb

Users can toggle reactions on/off, and reaction counts are displayed.

Read Receipts

The system tracks when notifications are read:

  • Unread notifications show colored borders and dot badges
  • "Mark all read" bulk action is available
  • Individual notifications are marked read on click

Search During Calls

On the desktop app, searching for meetings while you're in an active call opens results in a modal overlay instead of navigating away. This keeps you connected to the call while browsing past sessions.

Activity Feed

The Activity tab in the navigation ribbon shows your meeting history as a sortable table with columns for session name, Space, participants, date, duration, transcripts, topics, and cost.

You can:

  • Search meetings using natural language. Semantic search finds meetings by meaning, not just keywords (e.g., "meetings about authentication" returns results even if the word "authentication" wasn't used).
  • Filter by date range (7d, 30d, 90d, or custom), Space, participant, and whether the session has recordings, transcripts, or topics.
  • Sort by any column.
  • Hide agent-only sessions (hidden by default, toggle to show).

Click any row to view the full session details. Share notifications also appear in this feed with an unread count badge.

What's Next