Petal is an open-source project designed to facilitate real-time pair programming and remote collaboration. Unlike standard video conferencing platforms that primarily stream a video feed of a screen, Petal focuses on interactive synchronization. It allows multiple users to share windows that appear as native, movable, and resizable windows on the participants' desktops. The tool provides labeled user cursors and enables instant remote mouse and keyboard input, allowing a collaborator to click into a shared window and interact with the software as if they were physically present at the machine.

Petal logo and text describing open source pair programming with low latency and high resolution screen sharing.
Petal provides a low-latency, high-resolution platform for interactive screen sharing and remote control.petal.live

The image serves as the primary branding and overview for the Petal project, highlighting its core capabilities.

The technical architecture of Petal relies on LiveKit for its video infrastructure. Users can choose between a 'Petal Cloud' option, which provides a zero-config setup using the project's hosted infrastructure, or a self-hosted model. Self-hosting allows organizations to run their own media server via Docker Compose, ensuring that all media traffic remains within their own infrastructure—a significant consideration for teams with strict data control or compliance requirements. The project is positioned as a successor to tools like CoScreen and ScreenHero, which were previously popular for these specific collaborative workflows but were eventually sunset or acquired.

While Petal offers high-resolution sharing and low-latency input, it faces specific technical and usability hurdles. For example, the current implementation may struggle with international text entry, such as Japanese or Chinese Input Method Editors (IMEs), which can be a significant barrier for non-English speaking markets. Additionally, while the tool provides a superior experience for those who require deep interaction (like joint debugging or walking customers through complex software), it faces a high barrier to entry for general users who may find standard tools like Google Meet or Discord sufficient for basic screen sharing. The project's success as an open-source tool will likely depend on its ability to foster a community that can contribute to these specialized features and infrastructure improvements.