Inspiration

I was inspired to create SharedOS by the recognition of a significant gap in the current collaborative software landscape. Presently, there are various specialized collaborative apps designed for specific tasks, but there isn't a comprehensive solution that unifies multiple collaborative tools within a single workspace. This absence of integration can lead to inefficiencies in collaborative workflows. Whether for professional or entertainment purposes, the idea of accessing and utilizing various collaborative apps within a single, cohesive environment has the potential to enhance efficiency and enjoyment. Moreover, I envisioned an ideal solution that goes beyond mere integration.

What it does

SharedOS is designed to be a real-time desktop-like collaborative workspace accessible through a web browser. Its primary goal is to establish an ecosystem of collaborative tools that not only provide real-time capabilities but are also enriched with AI functionality. This amalgamation of features aims to offer an end-to-end, all-in-one solution that caters to the daily needs of our evolving collaborative work culture. By bringing together various collaborative tools under the SharedOS umbrella, we aspire to make collaboration more seamless and productive, whether for work or leisure.

How we built it

SharedOS Architecture

Multiple tools and frameworks were utilized to develop SharedOS, with some of the key ones being:

  • Ably: Leveraged Ably's channel, spaces, avatar stack, and live cursor features to transform the entire platform into a real-time and synchronous system.
  • Yjs: Employed Yjs's CRDT (Conflict-free Replicated Data Types) to effortlessly create a fast and robust, conflict-free collaborative system.
  • ChatGPT: Integrated ChatGPT to infuse AI functionality into SharedOS's applications. For instance, this includes the capability to generate reports from plain text prompts.

Yjs is an exceptionally robust and high-speed CRDT (Conflict-free Replicated Data Type) library. It stands out for its network-agnostic nature, making it compatible with various network providers. To enhance its versatility, I've developed the Y-Ably SDK, which serves as an Ably provider for Yjs. With the Y-Ably SDK, anyone looking to create CRDT-based, real-time applications using Yjs and Ably can seamlessly harness this powerful combination.

y-ably: https://github.com/ssd39/y-ably

Challenges we ran into

  • Developing an Ably connection provider for Yjs (CRDT).
  • Establishing a background worker capable of monitoring an Ably channel and synchronizing the database.
  • Crafting the ideal prompt for the Text-to-SQL-Vega-Lite functionality.

Accomplishments that we're proud of

  • Successfully creating an Ably provider for Yjs.
  • Achieving real-time and synchronous functionality across the entire platform.

What's next for SharedOS

  • Implementing an authentication layer to enable users to create private spaces, enhancing data security and privacy.
  • Introducing a connector feature that allows users to connect their databases and OpenAI keys with the platform. This integration will enable seamless interaction with AI services, enhancing user capabilities.
  • Expanding the selection of collaborative apps by adding more useful tools, such as a whiteboard, a flowchart tool, a kanban board, and a code editor with code execution capability etc, to enrich the platform's functionality.

Built With

Share this project:

Updates