Skip to content

← Back to list feature

Local-First Session Engine & Targeted Review Loop

Client-side architecture with Fisher-Yates shuffling, targeted review queue, and defensive localStorage persistence without backend dependencies.

Think of the situation response, reveal multi-tone cards, evaluate confidence, and targeted review.
Problem

Learners need focused practice without registration or backend overhead, while retaining card shuffling and refresh-safe session persistence.

Decision

Built an isolated state machine in useFlashcardSession with Fisher-Yates shuffle, 3-tier confidence rating (Again, Unsure, Got it), and automated review queue filters persisting to localStorage.

Result

A 50-card session can be resumed seamlessly (Continue Learning), and learning progress stays locally in the browser without an account or backend.

01

Implementation

  • Local persistence wraps schema parsing in defensive guards preventing runtime crashes from corrupted storage.
  • The review queue filters Again and Unsure cards into a targeted mini-deck with zero duplicate items.
  • Learning progress stays locally in the browser without an account or external tracking.
02

Related screenshots

Summary of 50-card session results and targeted review queue trigger.
Multi-tone expression variants with pronunciation audio buttons and rating controls.