DevSync

A real-time collaborative cloud IDE that lets teams write, run, and ship code together — directly from the browser.

Real-time CollaborationWebSocketsDocker-based ExecutionGUI and Local Server Support

The Problem DevSync Solves

Modern collaboration tools are fragmented, limited, or fake-real-time. DevSync was built to remove these constraints.

No True Real-Time

Most editors fake collaboration or rely on refresh-based sync.

Can’t Run Real Projects

Online editors break when npm, servers,GUI sessions, or build tools are involved.

MultiLanguage

Online IDE can't run multiple languages.

Disconnected Tools

Chat, code, terminal, and preview live in separate apps.

System Architecture

DevSync is built as a layered real-time system where collaboration, execution, and visualization operate as one pipeline.

CLIENT

Browser IDE

Unified interface containing editor, terminal, preview, and chat — fully synchronized across users.

Code EditorTerminalChatLive Preview
REAL-TIME CORE

Collaboration & Awareness Engine

Handles live code sync, cursor presence, file state, and multi-user awareness using persistent connections.

WebSocketsLive SyncPresenceConflict-free Updates
EXECUTION

Isolated Code Execution Environment

Runs real projects in isolated containers with full access to npm, CLI tools, backend servers, and build systems.

DockernpmViteBackend Servers
VISUALIZATION

GUI Virtualization Layer

Enables GUI-based applications to run headlessly on the server and stream their display directly into the browser.

XvfbX11noVNCBrowser Rendering

How DevSync Works

A walkthrough of the core collaborative features that power real-time development.

01 — Real-Time Code Syncing

Synchronization Engine

Real-time code synchronization forms the foundation of DevSync's collaborative engine. Multiple users can work on the same file in parallel, with consistent, conflict-free document state eliminating refreshes, locks, and manual coordination.

Code Changes Streaming

Code modifications are streamed instantly to all connected clients as users type

Context Preservation

Cursor positions, text selections, and scroll state continuously synchronized

Parallel Editing

Multiple users work simultaneously with automatic conflict resolution

Zero Latency

Instant propagation without manual refreshes or coordination overhead

Technology Stack

WebSocketCRDTOperational TransformYjs

02 — Integrated Terminal Execution

Loading...
Hover to speed up
Loading...
Hover to speed up

Execution Architecture

DevSync's terminal runs inside isolated Docker containers, providing real execution environments . All terminal events are streamed bidirectionally over WebSocket connections, ensuring low-latency command execution and seamless synchronization.

Execution Flow

1

Container Isolation

Each workspace runs isolated, which is Synced with Client Browser

Docker
2

Terminal Interface

Client uses xterm for rendering, server uses node-pty for shell session management

xtermnode-ptyPTY
3

Bidirectional Streaming

Input and output streamed over WebSocket with real-time synchronization across all users

WebSocketReal-time Sync
4

Static File Serving

Projects exposed through /project/{projectId} routes, serving HTML/CSS/JS as static assets

Static RoutingAsset Serving

Persistent Storage

DB storage preserves files, dependencies, and build artifacts across sessions

Low-Latency I/O

WebSocket-based streaming ensures instant command execution and output display

03 — File System Synchronization

File Operation Pipeline

All file operations are tracked as structured events within the collaborative session. Destructive actions require multi-user voting to prevent accidental data loss. Events flow through primary backend for broadcasting and persistence, then to secondary backend for disk synchronization.

Synchronization Flow

1

Event Tracking

File operations (create, rename, update, delete) tracked as structured events with multi-user voting for destructive actions

Event TrackingMulti-user Voting
2

Primary Backend Broadcast

Validated events sent to primary backend which broadcasts to all clients and persists to database

WebSocket BroadcastDatabase Persistence
3

Secondary Backend Mirroring

Events forwarded to execution backend to mirror changes onto disk storage used by runtime

Disk SyncRuntime Mirror
4

Resource Handling

Binary assets uploaded to Cloudinary, only URL references stored in database, execution backend downloads dynamically

CloudinaryURL ReferencesDynamic Download

Safe Deletions

Multi-user voting prevents accidental data loss from destructive operations

State Persistence

File data and state persisted in database for recovery and history

Cloud Assets

Binary resources stored in Cloudinary, downloaded dynamically by runtime

04 — GUI Execution

Loading...
Hover to speed up

GUI Session Management

GUI sessions managed by secondary execution backend where each user gets a dedicated GUI port for isolated visual sessions. Virtual displays initialized with Xvfb, with VNC streams converted to WebSocket connections for browser compatibility.

Virtual Display

Xvfb creates isolated virtual display for each user with dedicated GUI port

Stream Conversion

noVNC transforms x11vnc TCP streams into WebSocket connections

Secure Access

Token authentication required before GUI endpoint access granted

Window Management

Fluxbox provides lightweight window management for GUI applications

GUI Execution Flow

1

Port Assignment

Each connected user assigned dedicated GUI port with isolated session management

Port AllocationSession Isolation
2

Display Initialization

Virtual display created via Xvfb with Fluxbox window manager and x11vnc streaming

XvfbFluxboxx11vnc
3

Protocol Bridge

x11vnc streams over TCP, noVNC converts to WebSocket for browser compatibility

TCPnoVNCWebSocket
4

Browser Rendering

After token auth, virtual screen renders in browser enabling real-time GUI interaction

Token AuthBrowser Rendering

Technology Stack

XvfbFluxboxx11vncnoVNCWebSocketTCP Streaming

05 — Live Preview

Loading...
Hover to speed up

Preview Architecture

Frontend preview handled through secure proxy-based execution flow. Backend servers get dynamic proxy middleware with token authentication. Frontend frameworks like Vite are built and served with rewritten asset imports through authenticated proxy layers.

Preview Flow

1

Proxy Creation

Execution backend creates proxy middleware for servers running inside container workspace

Proxy MiddlewareDynamic Routing
2

Token Authentication

All preview URL requests authenticated via token before forwarding to local container server

Token AuthSecurity Layer
3

Frontend Build

Vite apps built through terminal, execution backend rewrites asset imports in build output

ViteAsset Rewriting
4

Secure Serving

All traffic routed through authenticated proxy layers ensuring isolated system access

Proxy LayerIsolation

06 — Built-in Team Chat

Communication System

Integrated team chat and direct messaging designed for real-time collaboration. One-to-one conversations support read receipts for tracking message delivery. Smart notification system triggers in-app toasts for online users and stores messages for offline delivery.

Direct Messaging

One-to-one conversations with read receipts tracking message delivery and visibility

Real-time Toasts

In-app chat notifications trigger instantly when recipient is online

Offline Storage

Messages stored and delivered as notifications upon user reconnection

Team Channels

Group chat channels for project-wide collaboration and discussions

Features

Read ReceiptsIn-app ToastsOffline DeliveryWebSocket Sync

07 — Git Repository Import

Loading...
Hover to speed up

Repository Import Pipeline

SSE-driven workflow executes on primary backend for importing external repositories. Pipeline handles authentication, downloads archives, extracts in memory with size enforcement, and selectively persists source files while uploading binaries to cloud storage.

Import Flow

1

Authentication & Download

Validate credentials, resolve target folder, download repository archive from source

Auth ValidationArchive Download
2

In-Memory Extraction

Extract archive in memory with size constraint enforcement before processing

Memory ExtractionSize Limits
3

Selective Persistence

Source files stored as database records, binary resources uploaded to cloud storage

Database StorageCloud Upload
4

Progress Streaming

SSE events stream incremental progress to Next.js client, project available without reload

SSEReal-time Updates

Repository Support

Import from GitHub, GitLab, and other Git hosting platforms

Smart Storage

Source code in database, binary assets in cloud with URL references

Live Progress

SSE streaming provides real-time import status without page refresh

Technology Stack

Server-Sent EventsArchive ExtractionCloud StorageNext.js Client

System Architecture

A high-level overview of the infrastructure powering DevSync.

CLIENT LAYER
Browser IDE
Code Editor
Terminal (xterm)
File Explorer
Chat
Preview Panel
GUI Viewer (noVNC)
WS: Chat
WS: File CRUD + Awareness
SSE: Git Import
WS: Terminal I/O
WS: GUI (websockify)
WS: Project Proxy
NEXT.JS API
Basic DB Operations
Auth
User CRUD
Teams
Projects
MAIN BACKEND
WS Server: Chat
Team Chat · DMs · Read States · Typing
WS Server: Collaboration
File CRUD · Awareness (cursor, selection, scroll) · Voting
SSE Stream
Git Repository Ingestion Progress
WS Client: Secondary Backend
File CRUD Events for Disk Sync
Write/Read
Upload Binary
SECONDARY EXECUTION BACKEND (Docker)
WS: node-pty (Terminal)
↔ Client xterm bidirectional I/O
WS: File CRUD Listener
← Main Backend file events · Disk mirror updates
WS: GUI (websockify)
Xvfb · Fluxbox · x11vnc → noVNC ↔ Client
WS: Project Proxy Piping
Local Docker WS ↔ Client (dev server, built apps)
Non-Persistent Disk Storage
Runtime FS · Downloaded assets from Cloudinary URLs
Static Server
/projectId · Preview proxy for backends/frontends
Read
Download
DATABASE (PostgreSQL)
User · Teams · Projects
File Metadata · Content
Chat Messages · DMs
Friendships · Requests
TeamMembers · Bans
Notifications · Read States
Binary Asset URLs
Git Import Keys
Single Source of Truth · All file content persisted
CLOUD STORAGE (Cloudinary)
CDN Asset Storage
Images (PNG, JPG, SVG)
Videos (MP4, WebM)
Audio (MP3, WAV)
Documents (PDF, DOCX)
URLs stored in DB · Assets downloaded by Secondary Backend
devsync-distributed-architecture.diagram
v2.0.production

Built With

Core technologies powering DevSync.

Next.jsTailwind CSSRTKTypeScriptNode.jsExpressWebSocketsSSEDockershadcn/uiRenderVercelxtermnode-ptyNeonDBPrismaCloudinaryXvfbYjsFluxboxClerkx11vncnoVNC

Ready to explore?

Dive into the source code or get in touch to discuss the implementation.

DevSync — Built for developers, by me.

© 2026. All rights reserved.