The Highlight Is the Card: Implementing FSRS in SQLite Without a Separate Cards Table
Most spaced-repetition apps split reading notes and review cards across two tables and require a 'convert to flashcard' step. FreedWise collapses them: every highlight carries its full FSRS state as columns, a single transaction grades a card and appends to the review log, and fallback scheduling ensures algorithm failures never block a review session.