daniel-fernandez — portfolio

codejam.tsx
github

A self-hosted, real-time collaborative code editor with sandboxed code execution — built to explore CRDT-based sync and container orchestration end to end.

Why I built it: I started this while helping a friend prep for technical interviews. We couldn't find an environment where we could actually collaborate on code and compile it together in the same editor, so I built one.

ReactTypeScriptMonacoSpring BootDockerYjs (CRDT)
  • Built a real-time collaborative code editor (React, TypeScript, Monaco, Yjs) supporting simultaneous multi-user editing without conflicts or lost changes.
  • Architected a Java backend that orchestrates Docker containers for sandboxed code execution, using multithreading, concurrent process management, and timeout handling to safely run untrusted code via a Spring Boot REST API.
  • Designed a Spring Boot WebSocket service to relay real-time collaborative edits across all connected users, using a lightweight architecture that kept the system self-contained without adding extra backend infrastructure.
TERMINAL
main*⚠ 0 ⓧ 0