Skip to content

AI Products · AI · Faith-Tech / EdTech

Nahaj

An AI Quran & Hifdh platform that turns every speaker in the home into a memorization companion — adaptive, on-device, family-aware.

Founder & Architect/2026/In Development
nahaj.app
PREVIEW
011 → 3One codebase, three deploy modes (Cloud SaaS / self-host on Pi-NAS / Home Assistant native)
0220+TS/Python workspace packages across 4 deployable apps
034-levelProgressive Quranic curriculum
04FSRS-6Scheduler with mutashabihat-aware re-queueing
01

THE WORK

The Situation

Hifdh is a lifelong practice. The tools treat it like a deck of flashcards.

Memorizing and retaining the Qurʾān unfolds over years, inside a home, around a family. Yet the apps for it ignore how people actually forget, and ignore the room where the work happens. I am building Nahaj as a quiet path through that gap.

The Job-to-be-Done

THE JOB TO BE DONE

When I'm memorizing the Qur'an over months and years,

I want to track how I actually forget and weave practice into my home and family routine,

So I can make steady progress without it becoming another chore.

The job is not "show me verses." The job is retention that survives daily life.

The Approach

I started with the forgetting curve, not the feature list. Recall is scheduled by an FSRS-6 engine, and the schedule is Qurʾān-aware: it re-queues mutashabihat — the near-identical passages that confuse every memorizer — instead of treating each ayah as an isolated card. Progress runs along a four-level curriculum, with sabaq, sabqi, and manzil modeled as first-class scheduling tiers rather than tabs in a UI.

I also decided early that the home is the runtime. Memorization happens out loud, away from a screen, so Nahaj reaches the speakers already in the house. That meant private recall checking and audio playback had to work without shipping a child's voice to a cloud. So the intelligence runs on-device by design.

The last decision was structural: no single deploy target. Families have different boundaries around privacy, so one codebase produces three modes — Cloud SaaS, self-hosted on a Pi-NAS, and a Home Assistant native install. Home Assistant is one adapter among them, not the product. The whole thing is ADR-driven; the trade-offs are written down before the code is.

The System

The foundation is a polyglot Turborepo spanning TypeScript and Python (uv), where a JSON Schema is the single source of truth and codegen emits both TS and Python types — over 20 workspace packages feeding 4 deployable apps. The clients are Next.js 15 + React 19 on web and Expo (React Native 0.79) on mobile; the backend is Fastify v5 with Prisma v6 over Postgres, Redis, and R2. Scheduling lives in @nahaj/hifdh-engine, a ts-fsrs FSRS-6 implementation with sabaq/sabqi/manzil tiers.

For recall, on-device ASR uses faster-whisper on ctranslate2 with a Tarteel-tuned Quran model, so checking happens privately. Audio output pairs ElevenLabs for the MVP with a self-hosted Habibi-TTS-MSA voice, and every generated output is watermarked. A Python device-bridge sidecar casts to the home via Google Cast (pychromecast) and AirPlay 2 (pyatv), while a pluggable adapter interface carries the Home Assistant native integration. Underneath the reading experience is deliberate Arabic typography engineering: self-hosted KFGQPC Uthmanic alongside 604 per-page tajweed fonts, delivered with unicode-range subsetting.

Treating Home Assistant as just another adapter — not the architecture — is what keeps Cloud, self-host, and smart-home honest as equals.

Status

Nahaj is pre-v0.1 and in active development. An "Olive Vitrine" teaser is live at nahaj.app; the engine, clients, and device bridge are being built toward a first release. No launch, no users yet — the work right now is the system underneath.

02

GALLERY · 06 FRAMES

NEXT EXHIBIT

Building something like this?

Start a Conversation →