I think the most "hard" problem in such apps is solving conflicts and reliable background sync. Beorg uses iCloud versioning since some time. Before it was implemented, it was a bloody mess - my org files would get conflicts on daily basis so that I've mostly used it only for reading org files.