Back to portfolio
Cross-Platform Desktop Quran Review CompanionCase Study

Ithqan

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.

Tauri v2React 19TypeScriptRustSQLiteZustandTailwind CSS
Ithqan popover preview
Ithqan looper tab showing Quran audio repetition controls

604

Quran pages tracked

20

EveryAyah reciters

380x560

Native popover surface

Alt

Global shortcut layer

Problem And Product Direction

Review discipline needed a purpose-built desktop workflow.

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

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.

Retention Heatmap

A 604-page visual review map categorizes every page as fresh, moderate, or overdue based on last review history.

Session Bookmarks

Saved review targets preserve page, ayah, reciter, and range context so difficult passages can be restarted instantly.

Offline Audio Cache

EveryAyah MP3 files are downloaded atomically into app data storage, converted through Tauri asset URLs, and reused offline.

Double-Buffered Playback

Two HTML audio elements alternate between active and standby tracks so upcoming ayahs can be preloaded before transitions.

Native Tray Control

Tray menu actions and global shortcuts emit a single event channel for play/pause, replay, next unit, and previous unit.

Interface Walkthrough

Ithqan Looper screen

Primary workflow

Looper

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

Ithqan Review screen

Retention overview

Review

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

Ithqan Saved screen

Fast restart

Saved

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

Ithqan Settings screen

Local defaults

Settings

Defaults, wake behavior, playback speed, and cache storage are managed from a compact desktop settings view.

Architecture

Native shell, reactive UI, local data.

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.

React popover UI

Compact tabbed interface tuned for native desktop menu bar & system tray usage across macOS, Windows, and Linux.

Tray and hotkey bridge

Tauri tray menu actions and Alt-based global shortcuts emit playback commands into the React queue store.

Rust + SQLite backend

Tauri commands persist review logs, bookmarks, settings, and cache metadata without sending user data out.

Review scheduler

Decay scoring prioritizes unreviewed and overdue pages, then feeds the most urgent material into the looper.

Outcome

A focused review companion designed around repetition, retention, and recall.

View More Systems