Anki is a mature, cross-platform spaced-repetition flashcard application. While it is fundamentally an end-user product, it contains significant embedded algorithmic and data-analysis components (FSRS memory-state scheduling, revlog analytics, retention simulation) that make it a hybrid of application and computational research. The production system consists of a Rust backend that owns all core logic, scheduling, SQLite persistence, sync, and media management; a Python Qt desktop frontend (`aqt`); a TypeScript/Svelte web UI for modern editors, graphs, deck options, and image occlusion; and a standalone sync server binary. Communication between languages is driven by protobuf service definitions, with generated bindings for Rust, Python, and TypeScript.
Org-fc is a spaced repetition system implemented as an Emacs package for org-mode. It allows users to mark org-mode headlines as flashcards and review them using spaced repetition algorithms (SM2 or FSRS). The system features multiple card types (normal, double, text-input, cloze, vocab), efficient indexing via AWK scripts with caching, a dashboard for statistics, and optional extensions like audio playback and key-binding hints. The architecture is modular with clear separation between core functionality, review logic, card types, spacing algorithms, and utilities.