About 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
Media servers
Others
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
Back up before experiments. Don’t say I didn’t warn you. 😉
Last updated
Was this helpful?
