A To-do List / Task Manager App That Syncs from JSON / Yaml File?

submitted by matcha_addict

I want a to-do list app that syncs from a json file (or other human-readable data format), so that I can view and modify the file (via a CLI like jq) from my computer too, and it would still reflect on my phone when it syncs.

Does this exist? Preferably it uses a format simple enough that makes it possible / easy to modify it via jq.

Log in to comment

9 Comments

Ephera

I would be surprised, if there's not some todo app with a JSON file sync, but I'm not aware of one.

However, there's two different plaintext formats, which are more-or-less standardized and you can find tooling for, both as apps and CLIs.

The first format is todo.txt: http://todotxt.org
It's extremely simple and as a result, a big ecosystem exists for it.

One limitation of todo.txt, though, which was a dealbreaker for me: You can't really note down additional context for your todos. More specifically, each todo is exactly one line of text.

So, personally, I'm using the OrgMode format instead: https://orgmode.org
It originates from what's essentially an Emacs plugin, but the basic task syntax can easily be typed in any text editor. The format has *tons* of features, but you don't have to make use of them.

Another major selling point is that Orgzly is a really good app. I don't know the syntax for scheduling a reminder, I just do that in Orgzly.

Well, and personally, I'm using Syncthing to synchronize the files.

matcha_addict [OP] , edited

Does orgmode have sub tasks and dependent tasks?

Edit: looks like it does. Now figuring out if existing apps support this feature.

Ephera

Subtasks, for sure. Those are part of the basic syntax, e.g.:

* TODO Lunch
** DONE Spaghetti
** TODO Tomato sauce
** TODO Serve it

Properly dependent tasks, though, I doubt you'll find much tooling outside of Emacs' org-depend. At the very least, I'm pretty sure Orgzly doesn't implement a UI/logic for it.

But I don't have a use-case for dependent tasks (beyond subtasks and rough ordering), so haven't actually looked into it.

Andromxda

I'd add TaskPaper to this list. It's a paid, closed-source macOS app, but the format is plain-text based and completely open. There are many other apps for other platforms that implement this format. There's even a taskpaper-mode for Emacs.

sbv

@PostWatchBot@lemy.lol

terribletortoise

Not exactly what you asked for but Joplin files are markdown. The app itself (very cross platform) renders them in a nice format. https://joplinapp.org/

everett

A surprising number of people will tell you that the reason they prefer the closed-source Obsidian to Joplin is that Joplin doesn't use Markdown files as its backend format to store its notes, but rather a database file. (They are formatted with Markdown, though.) I think the concerns they often express around lock-in are overblown, but this may mean it's not what OP is looking for. I agree that the Joplin app is pretty nice, though more polished and featureful on desktop.

Andromxda

You can literally export all your notes in 2 clicks. You right-click on your notebook, hover over the export menu and select Markdown. Choose a location and Joplin will create a folder with all your notes in Markdown format inside.

everett

Oh, I'm well aware. But the criticism I'm describing is that Joplin doesn't write and read the notes as plain .md files on-disk as its storage backend. As I said, the lock-in component to the criticism is overblown (due to, yes, the ease of export), but people also tout the Obsidian approach to storage as allowing more flexibility to also access and edit your notes collection outside of the application, not to mention the flexibility to roll your own two-way syncing solution to other devices that don't run Joplin, edit notes there and have changed synced back to notes in the application. I use and enjoy Joplin, and wish they would add something like that.

I brought this up because of what OP mentioned re: "view and modify" notes in something like jq. I'm sure they'd want their external changes synced back to their notes.