How I built a real-time collaborative IDE with video chat