Interference Recorder

AnkiWeb addon 1812738345

Records cards you confuse with each other, rates both Again in one undoable step, stores events in syncable notes, visualizes a decaying weighted graph, creates filtered decks, and cleans records.
AI-generated summary; may contain mistakes.

review-flowstatisticsnote-managementsearchfiltered-decks

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
0 (πŸ‘ 0 Β· πŸ‘Ž 0)
Updated
2026-09-16
Anki versions
26.08.1~
License
Apache-2.0 (from the license file in the package)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
JavaScript, Python, JSON
Description language
en

Maintenance

active

  • Last update or commit: 2026-09-16 (46 days before the snapshot).
  • Test files: 3.
  • GitHub Actions workflows: 1.
  • Commits in the last year: 10.
  • Issues: 0 open, 0 closed.
  • Pull requests: 0 open, 0 merged.

Will it work on my Anki?

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

Loading…

Similar addons

Crowd Stats (BETA)

Displays a review-screen overlay comparing your Again/Hard/Good/Easy ratings with anonymous community averages for mapped decks, while uploading limited anonymized card and rating data.

sync-integrationreview-flowstatisticsbeta

7 votes 65% approval πŸ‘ 7 Β· πŸ‘Ž 0 Anki 2.1.1~ Updated 2026-05-22
CRUISE CONTROL: hands-free review

Automatically reveals answers and rates cards Good using configurable per-deck timers, with optional fast spacebar presses rating Easy and safeguards against accidental reviews.

schedulingreview-flowshortcuts

7 votes 36% approval πŸ‘ 5 Β· πŸ‘Ž 2 Anki 2.1.26~ Updated 2020-06-09
Anking Yield Tags on Review

Displays a color-coded overlay on the Anki review screen showing an AnKing card's yield level, organ system and First Aid chapter, with adjustable tag settings and light/dark themes.

tagging

5 votes 57% approval πŸ‘ 5 Β· πŸ‘Ž 0 Anki 2.1.1~ Updated 2026-02-25

Description

Record the cards you confuse with each other, review them together, and explore the resulting interference graph.

Features

  • Choose Record Interference from the reviewer's answer-side context menu, or press the configurable shortcut (default: 0).
  • Search for the card you meant, with rendered back previews and on-demand result loading.
  • Confirm both cards side by side, then rate both Again in a single Anki operation with one undo step.
  • Store interference events in syncable Anki notes, split into compact shards of up to 500 events.
  • Visualize a weighted interference graph. Scores decay when cards are successfully reviewed, using the configurable decay factor (default: 0.9).
  • Preview a selected card and create a filtered deck from neighbors above a chosen edge-score threshold.
  • Clean link records that reference cards which no longer exist.

Usage

  1. Reveal a card's answer in the Reviewer.
  2. Open the context menu and choose Record Interference, or press 0.
  3. Search for and select the card you confused it with.
  4. Check both card backs and choose Again.
  5. Open Tools β†’ Interference Recorder β†’ Show Graph to inspect the graph.

Sync and data

Interference records are stored inside your Anki collection in the dedicated _Interference_Link deck. They therefore follow Anki's normal collection sync. The add-on never starts a sync itself. Before using the cleanup command, manually sync every device; sync again after cleanup.

The graph runs entirely from bundled local assets. The add-on does not send analytics or card content to an external service.

Source code and issue tracker: https://github.com/Logiquo/anki-plugin-interference-recorder

Licensed under Apache-2.0.

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.