Granular Repetition Engine
Queue review by ayah, range, page, pages, or surah, then repeat by ayah, page, chunk, or full block with configurable silence gaps.
A local-first cross-platform desktop companion (macOS, Windows, Linux) for Huffaz and Quran students to structure repetition, track retention, and keep review sessions moving without desktop friction.

Direct Download
Official signed desktop binaries compiled via GitHub Actions CI pipeline.
604
Quran pages tracked
20
EveryAyah reciters
380x560
Native popover surface
Alt
Global shortcut layer
Problem And Product Direction
Standard audio players loop whole tracks, paper logs are difficult to maintain, and browser-based Quran tools add context switching during focused memorization. Ithqan narrows the surface area to the actual review job inside a 380x560 transparent native popover: select material, repeat deliberately, track decay, and restart frequent sessions quickly.
The design follows the app itself: compact, dark, quiet, and operational. The popover UI keeps controls close, uses emerald as active state feedback, and avoids decorative weight that would compete with recitation.
Core Capabilities
Queue review by ayah, range, page, pages, or surah, then repeat by ayah, page, chunk, or full block with configurable silence gaps.
A 604-page visual review map categorizes every page as fresh, moderate, or overdue based on last review history.
Saved review targets preserve page, ayah, reciter, and range context so difficult passages can be restarted instantly.
EveryAyah MP3 files are downloaded atomically into app data storage, converted through Tauri asset URLs, and reused offline.
Two HTML audio elements alternate between active and standby tracks so upcoming ayahs can be preloaded before transitions.
Tray menu actions and global shortcuts emit a single event channel for play/pause, replay, next unit, and previous unit.
Interface Walkthrough

Primary workflow
The main control surface for configuring review units, reciters, repeat count, silence gaps, and active playback.

Retention overview
A dense heatmap turns long-term muraja'ah into a scannable dashboard and queues the most overdue pages.

Fast restart
Bookmarks capture current or custom revision targets with one-click playback for recurring daily review sessions.

Local defaults
Defaults, wake behavior, playback speed, and cache storage are managed from a compact desktop settings view.
Architecture
Ithqan uses Tauri for the desktop boundary, React for the popover interface, Zustand for queue and player state, Rust-backed SQLite for review data, and EveryAyah audio caching for low-friction offline playback across macOS, Windows, and Linux.
Compact tabbed interface tuned for native desktop menu bar & system tray usage across macOS, Windows, and Linux.
Tauri tray menu actions and Alt-based global shortcuts emit playback commands into the React queue store.
Tauri commands persist review logs, bookmarks, settings, and cache metadata without sending user data out.
Decay scoring prioritizes unreviewed and overdue pages, then feeds the most urgent material into the looper.
Outcome