Sail (YC S19) was a collaborative infinite canvas web browser based on Chromium. As a founding engineer, I was responsible for translating and implementing designs into code, and working alongside a senior designer to craft the user interface and experience. Sail was built on top of the Chromium browser, which meant it had all the features of a modern web browser, such as extensions, web apps, and compatibility with all websites. Our tech stack included React, Recoil, GraphQL, Redis, and MongoDB, in addition to a custom Chromium fork with C++/JS bindings to access browser capabilities. For design and prototyping, we used Figma, Framer, and Rive.
Cards live in spaces and can be created through the Sail command palette. Sail supports web cards, live web pages (leveraging the chromium browser), note cards built with Prosemirror to allow for rich text editing and formatting, image cards for displaying images, and message cards to communicate with others in a chat thread.
Sail supports global multiplayer, allowing users to collaborate in real-time with with others using shared cursors and live editing across cards, boards, and any website.
For when you have to say something: every space comes with a chat. Each card has a built-in chat thread so conversations don't get lost. Space events also get logged in the chat, like creating a card.
Your Sail Stash is a a place to keep the things you find on the web. It's a personal space where you can save and organizer your tabs before you decide to share them with others.
Built-in audio and video let users talk with their team in one place without having to leave their working space.
Sail was built on top of the Chromium browser, meaning it had all the features of a modern web browser, like extensions, web apps, and compatibility with all websites. Special C++ and JavaScript APIs were implemented on a custom Chromium fork to enable access of browser capabilities through web UI. This allowed us to create a new browser by using a traditional React front-end stack.