Host your own contacts and calendars and share them across devices
People looking for easier ways, Nextcloud/Owncloud already does this and you also get with file sync/backup/share for computer/smartphone and more as a bonus; all you need is just a LAMP server.