Swiftpack.co - bdewey/SpacedRepetitionScheduler as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by bdewey.
bdewey/SpacedRepetitionScheduler v0.5.0
Swift implementation of an Anki-like spaced repetition scheduler
⭐️ 17
🕓 4 weeks ago
.package(url: "https://github.com/bdewey/SpacedRepetitionScheduler.git", from: "v0.5.0")


Implements an Anki-style spaced repetition scheduler for active recall prompts.


In a learning system that uses active recall, learners are presented with a prompt and rate their ability to recall the corresponding information. SpacedRepetitionScheduler recommends a time interval to wait before showing a learner the same prompt again, given his/her history of recalling the information associated with this prompt and how well he/she did recalling the associated information this time. The recommended time intervals for a given prompt will increase the more frequently the learner recalls the information associated with a prompt.

SpacedRepetitionScheduler considers a prompt to be in one of two modes when making time interval recommendations: learning or review.

  • In the learning mode, the learner must successfully recall the corresponding information a specific number of times with specific time intervals between recall attempts. After successfully recalling the associated information the specified number of times, the prompt graduates to the review state.
  • In the review mode, the amount of time between successive reviews of a prompt increases by a geometric progression with each successful recall.

Where to start in the code

Representing prompts

  • PromptSchedulingMetadata -- Information needed to determine the recommended time to review a prompt again.
  • PromptSchedulingMode -- Whether the prompt is in learning or review mode.

Scheduling parameters

  • RecallEase -- Rating for how easy it is to recall the information associated with a prompt.
  • SchedulingParameters -- Holds parameters used to determine the recommended time to schedule the next review of a prompt.


Stars: 17
Last commit: 4 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Xcode 13 + DocC
2 years ago

Moves to swift-tools 5.5 for DocC support.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics