DecksMD 1.8.0
Released 7 May 2026
Changes
Personalized FSRS scheduling
- New "Optimize parameters" button in Settings → Algorithm tuning trains the FSRS-6 algorithm's 21 weights against your own review history, producing card schedules tailored to your specific forgetting curve
- Training runs entirely client-side in pure JavaScript — no server, no telemetry, no external services; needs at least 100 reviews recorded under the standard profile to begin
- Train-then-confirm flow shows before/after log-loss and review counts before any change is applied; click "Apply" to commit, "Discard" to throw it away
- Re-training warm-starts from your current trained weights, so subsequent runs refine rather than start over
- Existing card data is preserved; only future ratings use the new weights
FSRS profile choice per profile
- The FSRS profile dropdown in the profile editor now offers a third option, "Trained", in addition to "Standard" and "Intensive"
- Each deck profile can independently opt in or out of the trained weights — "Trained" is disabled until you've completed at least one training run
- Intensive profiles continue to use their sub-day initial intervals (1m / 6m / 10m / 1day) and are excluded from training data, since those weights encode UX choices, not learnable parameters
Algorithm tuning under the hood
- Optimizer matches the open-spaced-repetition reference: Adam with cosine-annealed learning rate, parameter clipping against the published FSRS-6 bounds, binary cross-entropy loss
- Step count scales with your review history (more reviews → more training iterations), so heavy-deck users get proportionally better convergence
- Internal benchmark harness validates against 443M anonymized Anki reviews — calibration of shipped default weights agrees with empirical recall to within 0.8 percentage points
Also on GitHub.