A productivity tool that combines elements of rule-based spaced repetition applications and principals of Agile development