On the left, a server that manages synchronization between a phone and a laptop. On the right, an alternative: the server has been cut out, and the phone synchronizes directly with the laptop.

Many services we use today rely on centralizing our information in data servers: cloud storage, calendar, contacts, messages, todo lists, etc. By centralizing our information we are giving part of our control over our own information.

A partial solution would be to use private and open-source servers, such as Nextcloud and EteSync. But for those you would still have to choose between:

  1. Choosing a server you trust and hoping it stays up all the time.
  2. Setting your own server (time-consuming and requires knowledge on server maintenance).

One way to avoid both of those would be to choose a truly decentralized synchronization for these services, cutting the middle server and managing to sync data directly between devices. I show here the some decentralized syncing solutions I found.

File sync

The best solution overall seems to be Syncthing, an open source tool available for Android, Linux, Mac and Windows, to synchronize a folder between devices of choice.

Syncthing Web UI

It has a way of managing conflicts between files, and you can choose a method of file versioning (keeping backups of older versions of the folder).

Syncthing is so good, some of the other alternatives I list here rely on it.

Calendar and contacts

Here, the only solution I found is DecSync. It is a tool to Sync calendars and contact lists to a local folder. Each data is separated in multiple files in a way that minimizes the risk of conflict.

DecSync app for android

DecSync has an android app, an Evolution plugin, and a radicale plugin. By using the radicale method, you create a local CalDAV/CardDAV client, so this can be used with any client supporting the DAV protocol (Thunderbird, GNOME Calendar, etc).

Password manager

There are many reasons you should use a password manager. An excellent choice for a offline password manager would be KeePassXC (Windows, Mac, Linux), which saves the password database in a .kdbx file. This file can be synced through all your devices with Syncthing.

For accessing it in android devices, there's KeePassDX.

Note: don't forget to choose a versioning method, and also to keep a backup elsewhere! You don't want to lose that password file.

Notes

I belive saving notes in plaintext is a great option, for two reasons: 1. They can be accessed almost anywhere, without needing to port some tool; 2. They will be accessible for as long as there are text readers (probably for our lifetime). And they can be kept in folder and synced through Syncthing.

Nonetheless, there are some tools that help in making daily notes. On android, Markor (F-Droid / Play Store) is an excellent tool for markdown and text notes, with many syntax and preview actions that help a lot.

On the desktop, any markdown reader can serve. Some good ones are ghostwriter (Windows and Linux), Apostrophe (Linux) and Abricotine (macOS, Windows, Linux).

Todo lists

For todo lists, one good option is todo-txt, a standard that saves lists in a text file, and supports due dates, priority, categories and tags. Just sync your todo-txt folder to have your list on multiple devices.

Some nice tools that support this standard: