ReplitOS is a creative environment for collaborative coding. It ties together concepts from design tools, engineering tools, and popular operating systems to make collaborative coding with different languages and media easy and fun.
Most programming tools have focused on improving how people literally write text— highly structured text we call code. Some examples include autocomplete, syntax highlighting, multiple cursors for bulk edits, regular expression search, or keyboard shortcuts for moving your cursor to different places in code quickly. These are all super valuable innovations, but programming is a creative activity that involves much more than text-editing.
What happens if you want to visualize how a project changes over time, visually organize your work, and collaborate with multiple people? What about making a game in Python and C, comparing JavaScript and Haskell side by side, or combining Lisp and Swift together? ****How about giving your code narrative structure and guiding other people through it? What about embedding videos, images, animations, tutorials, and other web-based tools (like Scratch and Figma) alongside your code? Many of these questions aren't directly related to writing code as text. Instead, they are fundamental to coding as a highly interdisciplinary form of creative expression.
Our R&D currently revolves around solving visualization and collaboration problems: seeing how people working together, how projects evolve over time, and how different projects and parts of the creative process are related. We want to help people feel like they have a space where they can build and learn, not a siloed text editor stuck in a tiny box. People should be able to experiment with multiple programming languages at once, build diverse, wide-walled projects, and collaborate with others fluidly without stumbling over git commands. The end goal of ReplitOS is to build a freeform, creative operating environment where computation **is the basic building block and collaboration is built into its design— not just a plugin.
Below is a functioning prototype of multiple programs coexisting in an OS-like environment in browser. Keep in mind, this demo is far from ideal but was meant as a proof of concept that you can emulate a desktop environment in a single browser window, code in multiple languages and run their outputs (0:38), interact with rich media like images and video (0:42), and embed web based tools (1:15). (Buzzword alert) Because this is web-based, we have realtime-collaboration built into our site, and all of our programs run in Linux containers, this means that this could essentially be a collaborative and distributed operating system.
https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5085f06a-fdc1-4c2c-88f9-1af2946dc411/spaces-demo_(1).mp4
Clickable prototype (can also use arrow keys)
https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Fproto%2FqpYk8FSUttJL5e004SJicu%2FReplitOS%3Fnode-id%3D304%253A2162%26scaling%3Dscale-down
The prototype file you can explore:
https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FqpYk8FSUttJL5e004SJicu%2FReplitOS%3Fnode-id%3D96%253A509