Skip to content

halitsever/watchbear

Repository files navigation


🐻 Watchbear: The sweet way to watch together


Documentation

Watchbear lets you watch any video together, in sync. Start a room, share the code, and everyone's playback stays on the same frame, with chat and reactions in a side panel right next to the video.

Synced playback: play, pause and seek stay in step for everyone in the room.

Join with a code: no account; friends drop in within seconds.

Side-panel chat: live messages and quick reactions next to the video.

Live position: the panel shows the current second of the active tab's video.

Requires Node >= 20 and pnpm >= 10.

pnpm install

Extension

pnpm dev:ext      # Vite dev server with HMR (outputs apps/extension/dist)
pnpm build:ext    # production build

Then open chrome://extensions, enable Developer mode, and Load unpackedapps/extension/dist.

Server

pnpm dev:server   # nest start --watch
pnpm build:server

Self-hosting

Watchbear is self-hostable. Run the server wherever you like (the Server.Dockerfile and server.compose.yaml are ready to go), then point the extension at it: open the popup, click the server row, Change, and enter your address (e.g. https://watch.example.com). It pings the address to confirm a Watchbear server is there before switching.

The extension origin (chrome-extension://…) is allowed by default, so no CORS config is needed for the client. To also allow a web origin, set CORS_ORIGINS (comma-separated) on the server.

Whole workspace

pnpm build        # build every app
pnpm typecheck    # type-check every app

MIT LICENSE - Halit Sever

Packages

 
 
 

Contributors