I have a slightly different system I'm developing:
Rather than reviewing with flashcards, review with actual content:
1. Tag the content with the words and grammar concepts
2. Estimate the difficulty [1] for you of each word or grammar concept -- the difficulty being essentially the inverse of your familiarity graphs in this article.
3. Choose content to read which balances difficulty and the impact on learning.
Since reviewing something you're about to forget has more impact than learning something new, "spaced repetition" falls naturally.
And instead of spending your review time going through flash cards, you spend your review time reading content in the target language.
[1] If you know the details of the FSRS algorithm, I'm using "difficulty" here differently than they do in their algorithm.