Premise
Finding time to work with other students on collaborative coding assignments can be difficult. More so, even if two people are available at the same time doesn’t mean that they’re necessarily available in the same place.
And, sometimes, coding interviews aren’t that great due to miscommunication between interviewers and their candidates.
Wouldn’t it be great if there was an online IDE that solves both of these problems in one go?
Overview
collab/space is an online IDE designed for real-time collaboration. It’s designed to serve three needs:
- Companies looking to interview candidates in technical interviews
- Students who want an easy way to work with other students on the same assignment
- Developers who simply want an easy way to share code with other people
It achieves this support through the following features:
- Live-updating text editor, supporting multi-person editing at once
- Framework for in-browser compilation, that can support multiple language (demo only includes Python)
- Video and audio communication for instant collaboration vibes
- Automatic persistence of updates to code
Implementation
I used Meteor to develop reactive components that ultimately resulted in the live-updating text editor. I also used React for the front end and MongoDB for fast database updates. Finally, I used CodeMirror for syntax highlighting, OpenTok for video and audio chat, and, as featured in the demo, Skulpt for in-browser Python compilation.