Interference Recorder

AnkiWeb addon 1812738345

Records confused cards, reviews them together, and visualizes a decaying interference graph with filtered deck creation and cleanup.
AI-generated summary; may contain mistakes.

review-flowstatisticsnote-managementsearchfiltered-decks

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
0 (๐Ÿ‘ 0 ยท ๐Ÿ‘Ž 0)
Updated
2026-09-16
Anki versions
26.08.1~
Description language
en

Maintenance

active

  • Last update or commit was 15 days before the snapshot (2026-09-16).
  • The repository has 3 test files.
  • The repository has 1 GitHub Actions workflows.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
26.08.1+2026-09-16
History across monthly snapshots

Loadingโ€ฆ

Similar addons

Bar Graph

Displays recent Anki review activity as a configurable bar graph on the Decks screen, with optional daily goal line, color customization, and cached performance.

statisticsprogress-trackingappearance

Rating 1 ๐Ÿ‘ 1 ยท ๐Ÿ‘Ž 0 โญ 0 Anki 25.01~ Updated 2025-12-16

README

Interference Recorder

Interference Recorder is an Anki Desktop add-on for recording cases where one card is mistaken for another.

The current implementation provides:

  • Tools โ†’ Interference Recorder as a submenu with data cleanup and graph entries.
  • Record Interference in the Reviewer context menu on the answer side.
  • The configurable Reviewer shortcut 0 on the answer side.
  • Anki-native card search with debounce and paginated, unlimited matching results.
  • A split search view with results on the left and the selected card's rendered back on the right.
  • A confirmation view showing the rendered backs of A and B side by side.
  • One translated Again button, Anki's configured Again shortcut, and a Cancel button.
  • One Anki grade_now operation that grades A and B Again with a single undo step.

Interference events are stored in Anki-native, synchronized log shards:

  • Dedicated deck, deck preset, and note type: _Interference_Link.
  • One local installation UUID identifies each writer.
  • Each suspended data card stores up to 500 JSON events before a new numbered part is created.
  • A single Record Interference undo entry covers both Again ratings and the appended event.

The Show Graph entry builds an interactive card graph from interference events and successful normal reviews. Scores decay according to the configured decay value; node and edge colors run from green at lower scores to red at higher scores. The graph uses an automatic non-overlapping fCoSE layout, supports pan and zoom, and shows the selected card's rendered back on the right.

From a selected node, choose an edge-score threshold to create a real Anki filtered deck containing that card and its qualifying direct neighbors. Leaving the optional name blank uses Anki's own default filtered-deck name.

Data maintenance

Choose Tools โ†’ Interference Recorder โ†’ Clean Missing Card Recordsโ€ฆ to remove events whose source or target Card ID no longer exists. The scan does not merge or renumber shards; a shard with no remaining events is deleted. The entire cleanup is one Anki undo step.

The dialog asks you to manually sync all devices before cleaning and manually sync again afterward. The add-on never starts or controls Anki synchronization itself.

Graph assets are bundled locally, so graph display does not require network access. The bundled Cytoscape.js, layout-base, cose-base, and cytoscape-fcose components are distributed under their respective MIT licenses in web/vendor/.

Development

The development environment targets Anki/aqt 26.8.1 and lives in .venv.

uv sync
uv run ruff check .
uv run mypy src
uv run pytest

For local Anki testing, link src/anki_plugin_interference_recorder into the active profile's addons21 directory. Anki loads the __init__.py at the root of that linked directory.