One more question. Could you add last_review_at to the /assignments endpoint? With the current data available (specifically available_at), I can easily calculate how long from now until the next review. However, what I really what to do is calculate how far (percentage-wise) that item is through the waiting period for that SRS level. For example, normally the interval for Apprentice 1 is 4 hours. If it’s 1 hour until the next review, I want to be able to calculate that this item is 75% of the way through the waiting period.
With only available_at, the best I can do is keep a copy of what I think the correct duration of every SRS level is, and cross reference that. This would also need special logic for the first two levels since they have short durations, and could potentially become inaccurate if you change any of the SRS intervals.
If, however, I had last_review_at in addition to available_at this would be much simpler, and resistant to future changes. I’d simply have to do (now - last_review_at) / (available_at - last_review_at).