Thanks! I’ve done some testing, nothing scientific, but I can tell you it transfers at about the same speed as other tools I tested, usually limited by network speed. I spent quite some time optimizing how small files are packaged together for transfer, so there’s no slowdown even with many small files compared to a single file of the same total size. Android APK idea is not bad though! I’ve published 2 Android apps before so will definitely look into it. Current Termux terminal approach is definitely not very user friendly.
- 4 Posts
- 33 Comments
Nothing wrong with that at all! You can set up a cron job to run Synchi every 5 minutes and it would work just fine. The only minor downside is some wasted compute since it rescans and hashes everything each run, even if nothing changed. For most files like text it’s negligible though.
In the future I might look into a lightweight daemon that uses Linux filesystem notifications (inotify) to trigger a sync when something changes.
Thanks! If you just need backup, with Synchi you set the ‘force=root_a’ in config, otherwise its bidirectional sync. If you need pure backups, rsync or similar might still be the better fit as they have some backup specific features.
I used Syncthing for years, it’s great (if you use it and you are happy, then you dont need to switch), but they are quite different. Syncthing requires daemons on all devices and can’t sync two local folders on the same machine. Synchi is on-demand, runs only on one side, and doesn’t care where the two root folders are.
I wrote a more detailed comparison here: https://jakobkreft.github.io/synchi/why.html
Thanks for correcting me! Honestly, I haven’t used rclone bisync myself so thanks for sharing it. I have to give it a try now. rclone definitely looks a lot more compex feature-rich tool. Synchi I think would be alot simpler to setup and works great for my specific use case of syncing notes and files between my devices. Perhaps, targeted users is the distinction? Anyways I need to try it and see what good things I can learn from it.
You are correct! no sub-file sync / binary diffing at the moment. It was my deliberate choice to keep complexity down. In practice, text files where diffing helps are tiny and transfer instantly anyway, and large files like images and videos almost never change partially. The main case where it would matter is something like large database files or VM images. That said, it’s not off the table for the future!
rclone bisync can do two-way sync, yes, great tool, especially for cloud backends and more automated syncs. Synchi is a lot simpler and more focused: works over SSH, nothing needed on the remote side. The key difference is that Synchi shows you exactly what it’s about to do (copy A→B, copy B→A, delete in A, delete in B) and asks before changing anything. Conflicts get an interactive UI. No surprises.
iOS is tricky since there’s no easy way to set up SSH access to the filesystem like you can on Android with Termux. So unfortunately not really supported at the moment. If you have a jailbroken device it might be possible, but that’s not something I’ve tested.
This is exactly how I use Synchi! Same idea but I use Logseq instead of Obsidian (very similar open-source alternative, worth checking out). Works great for syncing markdown notes between computers and my phone on demand. Of course I need to remember to sync before switching devices, but I prefer this then constant running in the background.
Haven’t thought about an Obsidian/Logseq plugin but honestly that sounds like a great idea… For now it’s CLI only, but I can definitely see the value.
I’m not too familiar with Steam Deck, but that sounds like it would work! As long as you can point Synchi at both save directories, it would keep them in sync and save you the manual copy-paste.
Great question! Let me sum it up here for others:
rsync is one-way only and has no memory between runs, every execution starts from scratch. Synchi is two-way, stateful (knows what changed since last sync), and content-aware (uses hashes, so no false positives from timestamp changes). It also handles conflicts explicitly instead of silently overwriting.
That said, rsync is still the better tool for backups and one-way mirroring. Synchi is for when you need true bidirectional sync.
Here is also a comparison with unison and syncthing: https://jakobkreft.github.io/synchi/why.html
Yes, you do need SSH set up on your phone. I’m using the same setup (Linux + Android). I wrote a short tutorial for it here: https://jakobkreft.github.io/synchi/termux.html
Also I use it with Tailscale so I can sync from anywhere not just local network.
Yes! On android with Termux terminal.
(note: If you sync between computer and phone you don’t need to install it on your phone. One side only is enough.)
It doesn’t work that way. Conflicts are resolved before any transfer starts. The flow is:
Scan both sides and compare (compute file hashes or just compare mtime, no data transferred)
Show conflicts if any → you resolve them
Show copy/delete summary → you approve
Only then does the actual transfer begin. So you never come back to find it halted mid-transfer. All decisions happen upfront while it’s just reading metadata, which is fast even for large trees.
It compares everything first (scan, diff, hash), then halts before any changes are made. You see a full summary of what will happen, and approve each category separately (copies, deletes). It’s designed to be very transparent. Every change must be approved before anything is written.
Conflicts get their own interactive screen where you pick per-file: keep A, keep B, or skip. Nothing is written until you’ve resolved all of them.
If you want to skip the prompts, --yes flag auto-approves, but conflicts still halt for user input. Flags --force root_a or --force root_b are used for mirrors one way here conflicts are not possible.
Yes, but most of these national apps I mentioned are already phone number based.
I also hate this. Phone numbers get recycled by operators, they are not owned by user, they just get assigned.
Not to mention sim swapping and privacy leakage by design.
Please correct me if I am wrong, but I understand it like this: Wero is just a UX layer and to identify the user and their bank. It uses “SEPA Instant Credit Transfer (SCT Inst)” as the protocol. This was made mandatory to support for all EU banks in October 2025.
So wero is not the only app, there are plenty other national apps, which again, are just UX for SCT Inst protocol.
Examples: Poland - Blik, Netherlands - iDeal, Sweden - Swish, Slovenia - Flik, Spain - Bizum…
I guess wero tries to replace all this so people can send money across eu countries.
I completely understand, and this kind of feedback is very helpful. Can i help you with anything else?
I really want to make the first impression better and simpler to understand. I guess some kind of tutorial or walk-through could also be added.
You read me like a book. 😅 Exactly how the project started.







Thanks for the kind words! To be fair, Syncthing itself is still actively maintained (they just released 2.0), it was the official Android app that got discontinued due to Google Play issues. Community forks still exist on F-Droid though.
But yeah, Syncthing and Synchi have different workflow. Syncthing needs daemons on all devices and can’t sync to a mounted drive, NAS path, or local folders on the same machine. Synchi is on-demand and doesn’t care where the two roots are. This is also why I started working on it. I used syncthing for a few years before that.