address-cardAbout CrossWatch (CW)

CrossWatch is a synchronization engine that keeps your Plex, Jellyfin, Emby, Simkl, Trakt and MDBlist in sync. It runs locally with a web UI to link accounts, configure sync pairs, run them manually or on schedule, and track stats/history.

Features

Core features

  • Sync watchlists (one-/two-way)

  • Live scrobble (Plex/Jellyfin/Emby → Trakt/SIMKL/MDBList)

  • Sync ratings (one-/two-way)

  • Sync watch history (one-/two-way)

  • Keep snapshots with CW tracker

  • Auto-remove from watchlist after finish

Tools & modes

  • Analyzer: finds broken or missing matches/IDs

  • Exporter: CSV files for popular services

  • Editor: Edit and adjust your items

  • Now Playing card, Stats, history, live logs

  • Headless scheduled runs

Trackers CrossWatch SIMKL AniList Trakt MDBList

Media servers Plex Jellyfin Emby

Others Tautulli

Limitations

CrossWatch is lightweight: no database, JSON files only. That keeps it simple but caps scale.

On average approx 150MB memory usage.

  • Not for very large libraries. JSON state and provider rate limits become the bottleneck.

  • Soft size guidance (varies by hardware):

    • Watchlist: stable up to ~2,500 items total across providers.

    • History (plays): stable up to ~10,000 play events total.

    • Ratings: stable up to ~10,000 ratings total.

  • Above these ranges you may see slower planning, large state files, and long first-run times.

  • Heavy backfills (full history/ratings) can take hours. Prefer incremental windows when possible.

  • Ratings can take a long time; i don’t cache ratings (by design).

  • Only for Movies and Shows currently there is no Anime support.

Known Issues

  • Some UI sections don’t auto-refresh reliably. When in doubt, Ctrl+F5 for a clean reload.

  • Stale UI data after long runs: Ctrl+F5 again.

  • Statistics may not always display the exact numbers yet.

Next steps

Last updated

Was this helpful?