A sophisticated spaced repetition system to help you retain information from your Obsidian notes.
- Calendar view — weekly overview of scheduled reviews
- Table view — sortable list of all notes with folder, difficulty, and streak
- Review buttons — keyboard shortcuts 1–4 (Again / Hard / Good / Easy)
- Activity heatmap — 12-week GitHub-style contribution graph (uses full review history)
- Statistics — total reviews, streaks, success rate, maturity distribution, 7-day forecast
- At-risk notes — highlights notes with high difficulty or broken streaks
- Overdue banner — quick access to late notes
- Bulk operations — select multiple notes to delete or postpone at once
- Configurable algorithm — adjust Hard/Good/Easy multipliers from settings
- Review history — every review is stored with its date and difficulty rating
- Import / Export — backup and restore all data as JSON (with schema validation)
- Multi-language — EN, FR, ES, DE, JA
- Mobile support — responsive UI, touch-friendly buttons
- Copy
main.js,manifest.json, andstyles.cssto your vault:.obsidian/plugins/advanced-spaced-repetition/ - Enable the plugin in Obsidian Settings → Community plugins
| Action | How |
|---|---|
| Add a note | Ribbon icon, Ctrl+Shift+R, status bar, or right-click file |
| Open calendar | Ribbon icon or command palette |
| Review a note | Click note in calendar/table → rate with buttons or keys |
| Bulk select | Click Select button → check notes → Delete or Postpone |
| Import/Export | Settings tab → Data section |
The spaced repetition algorithm adjusts the next review interval based on your difficulty rating. Multipliers are configurable in settings.
| Rating | Default effect | Keyboard |
|---|---|---|
| Again | Reset to 1 day, difficulty +1, streak reset | 1 |
| Hard | Interval × 0.8 (shorter) | 2 |
| Good | Interval × 1.5 (min +1 day) | 3 |
| Easy | Interval × 2.0 (min +2 days), difficulty −1 | 4 |
| Postpone | Move to tomorrow, no other changes | — |
Multipliers can be changed in Settings → Algorithm Multipliers.
| Setting | Default | Description |
|---|---|---|
| Show notifications | On | Startup notification when reviews are due |
| Default interval | 1 day | Initial interval for new notes |
| Max notes per day | 20 | Cap on daily review queue |
| Hard multiplier | 0.8 | Interval factor for Hard rating |
| Good multiplier | 1.5 | Interval factor for Good rating |
| Easy multiplier | 2.0 | Interval factor for Easy rating |
All data is stored in .obsidian/plugins/advanced-spaced-repetition/data.json inside your vault. No external services or network access required.
npm install # install dependencies
npm run dev # watch mode (esbuild)
npm run build # production build
npm test # run unit tests (jest)MIT
