A powerful real-time collaborative workspace where teams can edit documents, write code, analyze data, manage tasks, brainstorm on whiteboards, chat, and meet live in one unified platform.
VBase is an all-in-one collaborative virtual workspace that brings together document editing, code collaboration, spreadsheet work, kanban task tracking, whiteboard brainstorming, chat, and video conferencing into a seamless, real-time experience. Think of it as your team's virtual office where everyone can work together regardless of location.
Modern teams face fragmented collaboration:
- Document editing โ Google Docs
- Code collaboration โ VS Code Live Share
- Spreadsheets โ Google Sheets / Excel
- Task tracking โ Trello / Jira
- Whiteboarding โ Miro/Figma
- Video calls โ Zoom/Google Meet
- Team chat โ Slack/Discord
The Result: Constantly switching between apps, losing context, and paying for multiple subscriptions.
VBase unifies all collaboration tools in one workspace:
| Feature | Description |
|---|---|
| ๐ Documents | Rich text collaboration with formatting, exports, and AI writing tools |
| ๐ป Code Rooms | Multi-file code collaboration with execution, terminal output, and AI coding help |
| ๐ Spreadsheets | Collaborative spreadsheets with formulas, formatting, and live selection stats |
| โ Kanban Boards | Task boards with board/list views, drag-and-drop cards, and custom columns |
| ๐จ Whiteboards | Infinite canvas brainstorming with real-time sync and AI diagram generation |
| ๐น Meetings | Live audio/video meetings with lobby, chat, raised hands, and screen sharing |
| ๐ฌ Team Chat | Workspace-wide and direct messaging with unread tracking and reactions |
| ๐ฅ User Activity | Active-user presence indicators so teams can see who is currently working in a workspace |
โ๏ธ vbase-rce: Our own experimental RCE engine built with FastAPI and Docker for code execution in Code Room
VBase is deployed on Vercel.
For end-user documentation and feature walkthroughs, start with the user-guide hub:
- Rich Text Editing: Full formatting with Tiptap-powered editor (bold, italic, headings, lists, images, links)
- Real-Time Sync: See teammates' cursors and edits instantly via Liveblocks Yjs
- A4 Page Layout: Professional document view with rulers, margins, and page breaks
- AI Writing Tools: Summarize, elaborate, fix grammar, change tone, and generate content
- Export Options: Export documents as JSON, HTML, PDF, or text
- Connection Status: Visual indicators for sync status
- Multi-Language Support: JavaScript, Python, Java, C, C++
- Live Collaboration: Real-time cursor presence with colored user indicators
- Dual Code Execution Engines:
- Piston API - Public code execution service
- VBase RCE - Custom Azure-hosted execution engine
- File Explorer: Create files and folders with hierarchical organization
- VS Code Themes: Light and dark mode with VS Code-style syntax highlighting
- Integrated Terminal: View execution output directly in the editor
- AI Assistant: Ask for explanations or use agent-style generation directly in the editor
- Spreadsheet Room Type: Create spreadsheet rooms directly from a workspace
- Live Grid Editing: Edit cells collaboratively with shared state via Liveblocks storage
- Formula Bar: Enter values and formulas with cell-reference awareness
- Formatting Tools: Bold, italic, underline, alignment, fill, text color, and number formats
- Structure Controls: Insert and delete rows or columns relative to the active cell
- Selection Stats: Instantly view count, min, max, average, and sum for selected ranges
- Kanban Room Type: Create boards for task planning and delivery workflows
- Board And List Views: Switch between drag-and-drop board view and table-style list view
- Default Workflow Columns: Start with To do, In progress, and Done
- Task Editing: Add task titles, descriptions, and update card details later
- Custom Columns: Add, rename, and delete columns to match the team's workflow
- Drag And Drop: Move cards within or across columns to reflect progress
- Infinite Canvas: Powered by Excalidraw for free-form drawing
- Real-Time Sync: See teammates drawing in real-time
- Rich Toolset: Shapes, arrows, text, freehand drawing, and more
- Persistent Storage: Whiteboards save to database automatically
- AI Diagram Generation: Turn prompts like flows or system descriptions into live canvas diagrams
- HD Video & Audio: Crystal clear communication via LiveKit
- Meeting Lobby: Preview camera/mic before joining
- Multiple Meetings: Up to 3 concurrent meetings per conference room
- In-Call Collaboration: Open people and chat side panels while staying in the call
- Live Controls: Toggle mic, camera, screen sharing, and raised hand state during meetings
- Participant Management: See who's in the call with host identification
- Meeting Cleanup: Automatic resource cleanup on leave/disconnect
- Workspace Chat:
#generalchannel for team-wide communication - Direct Messages: Private 1:1 conversations between team members
- Message Reactions: Quick reactions for like and haha in the current workspace chat UI
- Unread Tracking: Badge notifications for unread messages
- Floating UI: Non-intrusive chat bubble accessible from anywhere
- Organization-Based: Workspaces tied to Clerk Organizations
- Member Management: Invite team members via email
- Room Types: Create Document, Code, Whiteboard, Spreadsheet, Meeting, or Kanban rooms
- User Activity Indicators: See active user avatars and presence while collaborating inside workspaces
- Access Control: Room-level permissions for team members
- Active User Avatars: Workspace surfaces show who is currently active
- Presence Awareness: Teammates can quickly see whether others are already inside a workspace or collaboration surface
- Collaboration Confidence: Presence indicators help teams know when it makes sense to start editing, chatting, or meeting live
- Join Users: When joining a workspace, users can see who is already active and choose to join them in their current activity or start something new.
VBase currently supports these room types in workspaces:
- Document: Rich-text collaboration, exports, and AI writing tools
- Code: File-based coding, execution engines, terminal output, and AI assistance
- Whiteboard: Excalidraw-based collaboration with AI diagram generation
- Spreadsheet: Grid editing, formulas, formatting, and live collaboration
- Meeting: Live audio/video sessions with chat, raised hands, and screen sharing
- Kanban: Task boards with drag-and-drop workflow management
| Technology | Purpose |
|---|---|
| Next.js 16 | React framework with App Router |
| React 18 | UI component library |
| TypeScript | Type-safe development |
| Tailwind CSS 4 | Utility-first styling |
| Framer Motion | Smooth animations |
| Lucide React | Beautiful icons |
| Technology | Purpose |
|---|---|
| Convex | Real-time database & backend functions |
| Clerk | Authentication & organization management |
| Technology | Purpose |
|---|---|
| Liveblocks | Cursor presence, Yjs sync, real-time events |
| Yjs | CRDT-based document collaboration |
| LiveKit | WebRTC video/audio streaming |
| Technology | Purpose |
|---|---|
| vbase-rce | Our own experimental RCE engine |
| Tiptap | Rich text document editing |
| CodeMirror | Code editing with syntax highlighting |
| Excalidraw | Whiteboard drawing canvas |
| Dnd Kit | Kanban drag-and-drop interactions |
| Piston API | An advanced & secured public RCE engine API |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CLIENT (Next.js) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ClerkProvider โ ConvexProvider โ LiveblocksProvider โ
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Documents โ โ Code Editor โ โ Whiteboard โ โ
โ โ (Tiptap) โ โ (CodeMirror) โ โ (Excalidraw) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Spreadsheets โ โ Kanban โ โ Meetings โ โ
โ โ (Liveblocks) โ โ (Dnd Kit) โ โ (LiveKit) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโ โ
โ โ Chat System โ โ
โ โ (Convex) โ โ
โ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Convex โ โ Liveblocks โ โ LiveKit โ
โ (Database) โ โ (Sync) โ โ (Video) โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
- Persistent Data โ Convex: Users, workspaces, rooms, chat messages, documents, code-file metadata, whiteboards, spreadsheets, kanban boards, and meetings
- Ephemeral Data โ Liveblocks: Cursor positions, editor state with Yjs, live presence, and spreadsheet collaboration state
- Video/Audio โ LiveKit: Real-time media streaming for meeting rooms
vbase/
โโโ app/ # Next.js App Router
โ โโโ api/ # API routes
โ โ โโโ generate-code/ # Code AI generation
โ โ โโโ generate-diagram/ # Whiteboard AI diagram generation
โ โ โโโ generate-doc-ai/ # Document AI actions
โ โ โโโ liveblocks-auth/ # Liveblocks authentication
โ โ โโโ livekit/ # LiveKit token generation
โ โ โโโ leave-meeting/ # Meeting cleanup endpoint
โ โโโ dashboard/ # Dashboard pages
โ โ โโโ page.tsx # Workspace list
โ โ โโโ invitations/ # Pending invitations
โ โโโ workspace/[workspaceId]/ # Workspace pages
โ โโโ room/[roomId]/ # Room type routes
โ โโโ document/ # Document editor
โ โโโ code/ # Code editor
โ โโโ spreadsheet/ # Spreadsheet editor
โ โโโ kanban/ # Kanban board
โ โโโ whiteboard/ # Whiteboard canvas
โ โโโ meeting/ # Video conferencing
โโโ components/ # React components
โ โโโ chat/ # Chat system components
โ โโโ code/ # Code editor components
โ โโโ document/ # Document editor components
โ โโโ spreadsheet/ # Spreadsheet room components
โ โโโ kanban/ # Kanban board components
โ โโโ meeting/ # Video meeting components
โ โโโ rooms/ # Room management
โ โโโ whiteboard/ # Whiteboard components
โ โโโ ui/ # Shared UI primitives
โโโ convex/ # Convex backend
โ โโโ schema.ts # Database schema
โ โโโ users.ts # User operations
โ โโโ workspaces.ts # Workspace operations
โ โโโ rooms.ts # Room operations
โ โโโ documents.ts # Document operations
โ โโโ codeFiles.ts # Code file operations
โ โโโ whiteboards.ts # Whiteboard operations
โ โโโ spreadsheets.ts # Spreadsheet operations
โ โโโ kanban.ts # Kanban operations
โ โโโ meetings.ts # Meeting operations
โ โโโ channels.ts # Chat channels
โ โโโ messages.ts # Chat messages
โโโ lib/ # Utility functions
โ โโโ piston.ts # Piston RCE integration
โ โโโ vbase-rce.ts # Custom RCE integration
โโโ providers/ # Context providers
โ โโโ convex-client-provider.tsx
โ โโโ liveblocks-provider.tsx
โ โโโ livekit-provider.tsx
โโโ liveblocks.config.ts # Liveblocks type definitions
- Node.js v18 or higher
- npm or yarn
- Convex account (convex.dev)
- Clerk account (clerk.com)
- Liveblocks account (liveblocks.io)
- LiveKit account (livekit.io) โ for video features
git clone https://github.com/your-username/vbase.git
cd vbasenpm installCreate a .env.local file in the root directory:
# Convex
CONVEX_DEPLOYMENT=your_convex_deployment
NEXT_PUBLIC_CONVEX_URL=https://your-deployment.convex.cloud
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_xxxxx
CLERK_SECRET_KEY=sk_test_xxxxx
# Clerk Redirect URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/dashboard
# Liveblocks
NEXT_PUBLIC_LIVEBLOCKS_PUBLIC_KEY=pk_xxxxx
LIVEBLOCKS_SECRET_KEY=sk_xxxxx
# LiveKit
NEXT_PUBLIC_LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=APIxxxxx
LIVEKIT_API_SECRET=xxxxx
# Custom RCE (Optional)
NEXT_PUBLIC_VBASE_RCE_BASE_URL=https://your-rce-server.com
NEXT_PUBLIC_VBASE_RCE_API_SECRET=your_secret# Initialize Convex (first time only)
npx convex dev --once
# This will create the database schema and functionsIn your Clerk Dashboard:
- Go to Webhooks โ Add Endpoint
- Set the endpoint URL to:
https://your-convex-url.convex.site/clerk - Subscribe to events:
user.created,user.updated,organization.created
Terminal 1 - Convex Backend:
npx convex devTerminal 2 - Next.js Frontend:
npm run dev
โ ๏ธ Both servers must run simultaneously for the app to work properly.
Navigate to http://localhost:3000
| Resource | Limit |
|---|---|
| Workspaces per User | 5 max |
| Rooms per Workspace | 10 max |
| Meeting Rooms per Workspace | 1 max |
| Concurrent Meetings per Meeting Room | 3 max |
| Members per Workspace | 10 max |
# Development
npm run dev # Start Next.js dev server
npx convex dev # Start Convex dev server
# Production
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint- Context-Aware Chat - File-specific chat sidebars
- 2D Spatial Dashboard - Gather.town-inspired navigation
- Meeting Enhancements - Polls, richer moderation tools, and deeper in-call controls
- Spreadsheet Enhancements - More advanced formulas and polish beyond the MVP grid editor
- Role-Based Access Control - Granular room permissions
This project is licensed under the MIT License - see the LICENSE file for details.
All thanks to these amazing projects and services:
- Convex for the incredible real-time database
- Clerk for seamless authentication & organization management
- Liveblocks for collaboration infrastructure
- LiveKit for WebRTC video streaming
- Excalidraw for the whiteboard canvas
- Tiptap for the rich text editor
- CodeMirror for the code editor
- Piston for robust & secure RCE engine
Raiyan Muhtasim |
Abdullah Al Musaddiq Rafi |
Md. Mahbub Ur Rahman |


