Product Docs
ShareCodeLive Documentation
A complete guide to public rooms, saved workspaces, access controls, real-time editing, team chat, AI assistance, and the online compiler.
Built for live code sessions
Interview, teach, debug, or pair program.
Interview, teach, debug, or pair program.
Real-time rooms
Live collaboration
Saved workspaces
Persistence
Node, C++, Python
Run code
Built-in AI chat
Assistance
Quick Start
ShareCodeLive supports quick public sessions and durable saved workspaces. Start public when speed matters, then save when ownership and access control matter.
01
Start or Join
Create a public room from the home page or join an existing room with a workspace ID.
02
Collaborate Live
Write code together, switch tabs, chat, run programs, and ask the AI assistant for help.
03
Save When Needed
Log in and save a public room as a workspace when the code should stay tied to your account.
04
Control Access
Invite registered users by email, choose read-only or edit access, and revoke access later.
Feature Reference
These are the major product surfaces and behaviors in the current ShareCodeLive app.
Public Live Workspaces
Use public workspaces for fast collaboration without requiring an account first.
Create a new public workspace from the home page and enter your display name before the editor opens.
Join an existing public workspace by entering the workspace ID or opening a shared workspace link.
Public workspaces sync code and tabs in real time while people are connected to the same room.
Anyone with the public workspace link can join, so use saved workspaces when access needs to be controlled.
Logged-in users can save a public workspace from the editor header and turn it into a persistent Supabase-backed workspace.
Logged-out users who click save are sent through login first, then returned to the save-workspace flow with the current draft preserved.
Saved Workspace Dashboard
Saved workspaces keep code sessions connected to authenticated user accounts.
The /workspaces page shows a dashboard with recent workspaces in a table view.
The Workspaces view separates workspaces into Created by me and Shared with me.
Each table uses pagination with five workspaces per page so long lists stay manageable.
Search filters workspace names in the Workspaces view.
Updated times are shown as relative labels such as just now, 1 min ago, or 2 hours ago.
Owned workspace rows show the number of users who have access.
Clicking a row opens the workspace editor.
The three-dot row menu lets owners manage users or delete a workspace after confirmation.
Workspace Management
Owners can create, rename, delete, share, and manage access from the dashboard or editor.
Create workspace opens a modal with a workspace name and optional user access list.
Users can be added by email during workspace creation if they already have a registered profile.
The pen icon beside an owned workspace name opens a rename dialog.
Delete workspace is owner-only and requires confirmation before the workspace is removed.
Manage users opens the same access table used in the workspace editor share dialog.
The access table shows user names, exposes email on hover, includes a read-only toggle, and includes a revoke button.
Authentication and Profile
Supabase authentication powers saved workspaces, profile names, and access lists.
Users can sign up with email and password and provide their name during registration.
Login and signup are separate pages with Google login available when configured in Supabase.
Forgot password sends users through the reset-password flow and returns them to login after the password update countdown.
The profile page lets authenticated users update the name shown to collaborators.
Logged-in users can open /code directly without entering a public display name because the app already knows their profile name.
Account menus are available on home, workspaces, profile, and editor pages.
Access Controls
Saved workspaces support owner, edit, and read-only collaboration modes.
Owners can invite registered users by email from the create modal, dashboard manage-users dialog, or editor share dialog.
Can edit users can work in the saved workspace and make changes to tabs and code.
Read-only users can view the workspace but cannot edit code, create tabs, rename tabs, close tabs, or use the AI assistant.
Owners can switch a collaborator between read-only and editable access at any time.
Owners can revoke access from the manage-users table.
Saved workspace links are not enough by themselves; the user must be authenticated and have access.
Editor and Tabs
The editor is built for multi-file collaboration with synchronized tab state.
The editor uses Monaco and supports many language modes including JavaScript, TypeScript, Python, C++, Java, Go, PHP, Ruby, Rust, HTML, CSS, Markdown, YAML, and more.
Tabs are shared between collaborators in the same room.
Users with edit access can add tabs, rename tabs, switch tabs, and close tabs when more than one tab exists.
The active tab content is what the compiler runs and what the download flow includes.
The close button is visible on closable tabs and disabled by design for the final remaining tab.
Read-only saved workspaces keep tab modification controls disabled.
Saving and Unsaved Changes
Saved workspaces combine automatic saving with explicit manual control.
Saved workspace code changes are queued and written to Supabase after the configured autosave delay.
The editor header includes a Save workspace button for manual saves.
The save button is disabled when there are no local unsaved changes.
Ctrl+S on Windows and Cmd+S on macOS trigger the same save behavior in saved workspace editors.
If local changes are unsaved, navigation through the logo, back button, refresh, or page leave is guarded so the user can save first.
Public workspaces are live sessions and should be saved into an account-backed workspace when persistence matters.
Online Compiler
Run the active tab without leaving the collaborative editor.
The compiler panel runs the currently active tab.
Supported run targets are NodeJS 18, C++, and Python 3.10.
Output is shown in the console panel with separate entries for each run.
Runtime errors and network failures are shown in the console and surfaced as alerts.
On mobile, Run lives inside the editor action dropdown to keep the header compact.
AI Code Assistant
Ask for explanations, improvements, or code edits inside the editor.
The AI assistant can explain code, suggest improvements, write code, and help reason through implementation ideas.
AI suggestions are reviewed before they are applied to the editor.
The assistant is available from the editor action area and can stay beside the workspace while users code.
Read-only saved workspace users cannot use the AI assistant because it can prepare edits for the codebase.
The AI Assistant marketing page explains the feature for visitors before they open a workspace.
Team Chat
Keep discussion near the code instead of moving context to another tool.
Workspace chat is available inside the editor for team discussion.
The chat button appears near the Run control when chat is closed.
Unread messages are indicated with a badge on compact and mobile action controls.
On mobile, Chat appears in the editor action dropdown when the chat panel is closed.
Chat can be closed to return more space to the editor.
Downloads and Editor Settings
Developer-focused controls keep the workspace comfortable for different coding styles.
Download exports the workspace as a zip file.
Editor settings include language, font size, line height, minimap, word wrap, automatic layout, scroll beyond last line, wrapping indent, code lens, read-only, rounded selection, cursor style, cursor blinking, and word wrap column.
The settings drawer includes search so users can find a specific option quickly.
Support and feedback actions are available from the editor action controls.
On smaller screens, download, feedback, support, run, and chat are grouped into a dropdown.
Theme and Responsive UI
The interface follows system theme by default and adapts across device sizes.
Theme options are System, Dark, and Light.
The selected mode persists across refreshes and is applied before hydration to avoid flicker.
Theme controls are available on the home page, workspaces page, and editor pages.
The home, AI assistant, auth, workspace, profile, and editor surfaces use the shared theme tokens.
Mobile and tablet layouts keep primary controls reachable through compact header actions and dropdowns.
Data Model and Safety Notes
Understand where workspace data lives and how to choose the right room type.
Saved workspace metadata, collaborators, and tabs are stored in Supabase.
Access lists are stored per workspace and are enforced by the app workflow and Supabase policies.
Public workspaces are best for temporary sessions where everyone with the link is allowed to join.
Saved workspaces are best for durable work, private projects, teaching rooms, and team sessions that need controlled access.
Workspace owners should use read-only access when someone only needs to review code.
Common Workflows
A few practical flows that connect the major features together.
Create a saved workspace
1
Open Workspaces from the account menu.
2
Click Create workspace.
3
Enter a workspace name.
4
Optionally add registered users by email and choose read-only access.
5
Create the workspace and continue in the saved editor.
Save a public workspace
1
Open a public editor session.
2
Click Save workspace in the editor header.
3
If logged out, complete login and return to the save flow.
4
Enter a workspace name and optional collaborators.
5
Save to open the persistent workspace editor.
Manage collaborators
1
Use the workspace table three-dot menu or the editor Share button.
2
Add a registered user by email.
3
Use the read-only toggle to control editing ability.
4
Use revoke to remove access after confirmation.
Ready to try it?
Open a workspace, invite a teammate, run code, and save the session when it becomes worth keeping.