A 3rd party Plex client that allows you to watch TV shows and movies with your friends in perfect synchronization across all clients.
Multiplex was created as a response to Plex's announcement of the deprecation of their Watch Together feature. Inspired by SyncLounge, this application ensures that you and your friends can continue to enjoy synchronized viewing experiences of your favorite content from your Plex server.
- Synchronized Playback: Watch content in perfect sync with friends across multiple devices
- Real-time Controls: Play, pause, seek, and navigate together
- Cross-platform: Works in any web browser, with native console clients in development
- Plex Integration: Seamlessly connects to your existing Plex server
- User-friendly Interface: Clean, modern UI built with shadcn/ui components
Multiplex is a Bun monorepo: the web app lives in apps/web, shared Plex API and auth libraries in packages/, and the native console client in apps/gamecube.
- Next.js - React framework
- BetterAuth - Authentication
- Drizzle - Database ORM
- Tailwind CSS - Styling
- shadcn/ui - UI components
- tRPC - Type-safe APIs
- TanStack Query - Server-state caching
- Effect - Player and Watch Together session runtime
- Native SDK - UI authored in restricted TypeScript and
.nativemarkup, rendered on the console - libogc2 - Console runtime and networking
- MPlayer CE - Console-optimized FFmpeg video/audio decoding
- Mbed TLS - HTTPS on console
See apps/gamecube/README.md for the full console stack and acknowledgements.
This project was initially scaffolded using create-t3-app.
- Clone the repository
- Install dependencies:
bun install - Set up your environment variables:
cp apps/web/.env.example apps/web/.env - Run the development server:
bun dev
The app is available at https://multiplex.localhost through Portless.
Contributions are welcome! Please feel free to submit issues and pull requests to help improve Multiplex.
This project is open source and available under the MIT License. The native console runtime is the exception: it is GPL-3.0-or-later so it can build directly on the homebrew scene's GPL-licensed media work.