CrossWatch - self-hosted sync engine

Hi all, I build CrossWatch, a self-hosted sync engine. CrossWatch is a synchronization engine that keeps your TRAKT in sync with Plex, Jellyfin, Emby, Simkl and Mdblist in. It runs locally with a clean web UI to link accounts, configure sync pairs, run them manually or on schedule, and track stats/history.

CrossWatch provides:

  • One brain for all your media syncs.
  • Multi-server (Plex, Jellyfin, Emby) and multi-tracker (TRAKT, SIMKL, Mdblist) in one tool.
  • Sync between media servers: Plex, Jellyfin, Emby - Sync between trackers: SIMKL, TRAKT - or Sync from/to media servers and trackers.
    • Also great for backups or to keep your media servers in sync.
  • Beautiful UI, rich debug logs, and lots of sensible toggles.
  • Simple and advanced scheduling for real freedom.
  • Unified, visual Watchlist across providers — filter, search, bulk remove, etc.
  • Back-to-the-Future (Fallback GUID)
    • Revives old items that left your library but still hide in your server DB, hello, ancient Plex memories that are now in your TRAKT account.
  • Intelligent Webhooks
  • Watcher
  • Watchlist Auto-Remove
    • Clears items automatically from your TRAKT Watchlist after a verified finish
  • Analyzer
    • Finds items stuck between providers.

    • Shows Issues: N per your sync pairs with concrete fix hints.

If this kind of setup is useful for you then try it out here.

I’ve been using it for a while now to sync my watchlist bidirectionally, and compared to many other tools, it works perfectly here and is a true two-way sync. Is there a way to configure the watchlist to sync two-way and then use one-way (Plex to Trakt) for everything else? @pvdberg

Been using this for a couple weeks to sync my watch list to Plex. Works great and super helpful - thanks.

Absolutely you just create two or more pairs. One for watchlist in two-way and the other pairs in one-way with history and ratings feature enabled.

However, my advice would be: one sync from plex to trakt for history (one time) and then disable the pair and switch over to webhook or watcher for realtime updates.

Thank you. Its getting better every update.

Thank you. The Emby webhook is essentially the Jellyfin webhook, and I was hoping it would just work. Problem is: I don’t have Emby Premiere, so I can’t live-test it. Realistically, I’ll probably remove the Emby webhook later anyway, Watcher is smarter and does the job better cause i can control it.

Thanks for testing, really appreciate it.

Version 0.4.4 released. This release is all about the new CrossWatch Tracker A built-in snapshot provider that stores your Watchlist, History and Ratings locally and lets you backup & restore them into your other services. Perfect for easy backup and restoring your Trakt items.