Ziyadah Bulanan Tahfizh — app screenshot
Desktop Application · Windows

Ziyadah Bulanan Tahfizh (Rust + Tauri)

A lightweight desktop app for tracking students' memorization progress, with layered data security.

Ziyadah Bulanan Tahfizh — app screenshot
● Internal Release 2026 Platform: Windows x64 Rust · Tauri v2

01 Overview

A Windows desktop app for recording and monitoring students' monthly Quran memorization ("ziyadah") progress at a tahfizh boarding school. Built with Rust + Tauri v2 for a light footprint and small installer. Student data is stored in an encrypted database, and distribution is locked to each device via an offline Ed25519 license system.

02 Problem

Students' memorization progress was previously tracked manually with paper/spreadsheets split per class — prone to miscalculated sheet totals and rankings, inconsistent formatting across months, and hard to organize. Because the app is distributed to the school's own PCs, strong usage control was required: license protection so it cannot be freely installed, and data protection so records cannot be read directly from the app files.

03 Solution & Approach

The backend is written in Rust on Tauri v2, with a vanilla HTML/CSS/JS frontend (no framework) to keep it light. Data lives in an in-memory SQLite DB and is persisted to an AES-256-GCM encrypted file; the encryption key is sealed with Windows DPAPI and bound to the device HWID (MachineGuid + volume serial + CPU identity hashed with SHA-256). Licensing is fully offline: an admin tool (license_gen) signs a license.lic file with Ed25519. Every Tauri command re-verifies the license directly (no single patching point), supported by clock-rollback detection and a self-integrity check of the running binary.

// License is re-verified on EVERY command, not just at startup if (!verify_license(&state)) { // reject with obfuscated message } // Data encryption key = dpapi_unseal(hwid_derived_key, current_user, current_machine);

04 Key Features

  • Add students manually or in bulk (copy-paste from Excel).
  • Inline editing of names, starting surah, and current surah per student.
  • Automatic calculation of sheet totals and rankings (ties share a rank).
  • 6-class setup (Judud / Mutawassith / Qudama) via sidebar; Hijri calendar.
  • A4 PDF report printing via html2pdf, saved automatically to Downloads.
  • AES-256-GCM encrypted database with automatic migration from the old format.
  • Offline per-device Ed25519 licensing + clock-rollback detection & self-integrity check.

05 Tech Stack

Rust Tauri v2 rusqlite (SQLite) ed25519-dalek aes-gcm · sha2 machine-uid · windows-sys dirs · base64 html2pdf.js NSIS Installer

06 NamQool Studio Role

Full Development — from backend architecture (database, cryptography, licensing system), frontend UI, to packaging/NSIS installer build and the admin license issuance tool.

07 Results / Outcome

lightweight NSIS installer, low footprint (not Electron)
manual rekap replaced by automatic sheet + ranking calc
controlled distribution: only works with an official license
database cannot be read directly from the app files