To design and develop Solo Editor — a unified, browser-based collaborative IDE combining real-time code editing, multi-language execution, and social connectivity.
Online judges lack real-time collaboration. Students cannot practice competitive programming together.
Collaborative editors have limited multi-language execution with no security isolation.
Existing platforms have vulnerabilities in code execution — fork bombs, resource exhaustion.
Concurrent user management bottlenecks at 50+ users. Poor sync performance.
| Feature | Solo | Live Share | Repl.it | LeetCode | Sandbox |
|---|---|---|---|---|---|
| CRDT | Yjs | OT | OT | -- | OT |
| Languages | 16+ | -- | 30+ | 20+ | JS |
| Docker | Full | -- | Basic | Basic | Basic |
| Social | Yes | Ext | -- | -- | -- |
| Terminal | Shared | -- | Yes | -- | -- |
| AI | Gemini | Copilot | Basic | -- | -- |
| OJ | Yes | -- | -- | Yes | -- |
| OSS | MIT | -- | -- | -- | -- |
| Users | Avg | P95 | Mem |
|---|---|---|---|
| 1-10 | 12ms | 28ms | 2.1MB |
| 11-50 | 28ms | 52ms | 2.8MB |
| 51-100 | 45ms | 78ms | 3.4MB |
| 101-200 | 67ms | 125ms | 4.2MB |
Mathematical foundation for Yjs CRDT. Guarantees eventual consistency without central coordination.
Comparison baseline. Justifies CRDT over OT-based solutions like Google Docs.
Container isolation theory. Resource limits, network isolation, privilege dropping.
Practical CRDT implementation. Sub-50ms latency with y-monaco binding.
Tested across 10,000+ cases: fork bombs, memory exhaustion, path traversal, injection.