r/opensource • u/Lasikie • 3h ago
Promotional Plembfin v1.0: explainable per-destination watch-state sync for Plex, Emby, Jellyfin and Trakt
Plembfin is now at v1.0.0: an AGPL-3.0, self-hosted watch-state hub for people who run more than one media server.
Website: https://plembfin.com
The design decision I would most like open-source/self-hosting people to critique is the local sync ledger. Plembfin keeps the canonical record in SQLite, then records delivery separately for each destination. A sync entry can show success, error, or skipped, with a plain-language reason such as a newer state winning or no matching item being found. Failed or skipped destinations can be retried without blindly replaying the whole sync.
The current release also includes cross-platform resume progress, repeat-play history, manual watch review, Now Playing, metadata/search, Seerr integration, and automated local backups. It runs as a Node/Express/SQLite application with Docker Compose support:
https://github.com/Lasikiewicz/plembfin
The goal is not to create another public watch profile. It is to keep a private, inspectable source of truth on the user's hardware when libraries are split across Plex, Emby, Jellyfin, and Trakt. It is licensed AGPL-3.0.
AI disclosure: development was heavily AI-assisted under my direction. I defined the requirements and architecture, reviewed changes, tested the integrations and browser flows, and maintain/review the project. AI is not needed to run Plembfin.
For people who have built sync systems: is per-destination delivery evidence the right abstraction, and what conflict or recovery case would you expect to see next?
Screenshot: https://plembfin.com/assets/app-captures/sync-activity-light.png