Comment by jaredklewis
Comment by jaredklewis 11 hours ago
Maybe I misunderstood something, but I can't find anything in your comments that identifies a flaw with the underlying data model of Anki. It seems your issues are mostly about Anki's data management?
So I would strongly suggest your check out anki-connect (https://git.sr.ht/~foosoft/anki-connect) which provides a REST API for CRUD operations on Anki notes, cards, decks, and media attachments.
Or maybe if you can share in a little more detail on what you are studying, the format of the data, and the exact way that your attempted workflow is breaking down with Anki, I'd be surprised if no one had suggestions for making it work.
Edit: also, to answer a question in your initial post, is there a better SRS tool out there? I've never found anything. For all its warts and flaws, Anki is good where it matters, extensible enough to support pretty much all use cases, and has excellent data portability.
Maybe "data model" is the wrong term.
The last time I tried to use Anki for real, I wanted to set up some Chinese character cards, to be used by 2-3 different people. I found a couple apparently high-quality decks online and downloaded them, and they had lots of characters, including (mostly) ones that I didn't want to include for the users in question. Removing content from the decks seemed wrong. Trying to make an actual practicable system with just the specific templates I wanted seemed unnecessarily complex (these decks had lots of fields in the notes, which is great, but I didn't want to use all of them). And actually getting the result to work for multiple users seemed like an exercise in poor maintainability -- I wanted to maintain and curate the set of notes and be able to update what each user was studying as needed.
As the very most basic failure, Anki barely separates the concept of a "deck" in the sense of a set of notes from a "deck" in the sense of that which a particular person is studying. And I found that to be quite limiting.
What I think I wanted was a collection of notes, where each note would perhaps have an id and a bunch of fields and their associated media. That collection should be copyable and ideally version controlled. And I wanted to create study sets that would reference the notes, select a subset of them and a subset of the possible templated cards, and track the study statistics.