Open Hikmah
An AI-grounded Quran knowledge graph — search a verse, drop it on an infinite canvas, and let AI surface the real connections between verses.
Overview
Open Hikmah is an AI-grounded Quran knowledge graph. Rather than reading the Qur'an linearly, page by page, it lets you explore verses as a connected graph: search for a verse, place it on an infinite canvas, and expand it to surface related verses — by shared root word, by theme, or by meaningful contrast.
Connections are grounded, not hallucinated: canonical data — shared Arabic roots and embedding-based semantic similarity — identifies the candidate verses first. The AI's role is limited to explaining _why_ a connection holds; it never invents a reference. Every edge on the canvas links to that explanation.
Verses can be found by direct reference (2:255), by keyword, or by meaning — describing a
concept in your own words and retrieving verses about it even when no words are shared with the
query.
Features
- Canvas — Infinite graph of verse nodes connected by AI-generated edges. Expand any verse by
- Search — Direct reference lookup (
2:255), full-text keyword search, or semantic
- Find similar verses — From any verse, surface the closest verses by meaning.
- Shareable canvases — Every canvas state serializes to a single URL you can copy and share.
- Audio — Play all canvas verses in Qur'an order with a single button.
- 99 Divine Names — Full Asma'ul Husna with Arabic script, root morphology, taxonomy, verse
- Bookmarks — Save verses locally without signing in, or to your account for cross-device sync.
- Social — Daily engagement streaks, a friends leaderboard, and head-to-head challenges
- Guest access — Explore, bookmark, and use the canvas without creating an account.
- Workspaces — Save multiple named canvases to your account, not just a single shared URL.
- @Mentions — Tag friends in verse notes; they get a friends-only notification.
- Prophetic Stories — Adam, Nuh, Ibrahim, Musa, Yusuf, Isa, and Muhammad, integrated with
- Multi-language — UI, AI-generated connection reasons, and 99 Names content available in
Tech Stack
| Layer | Choice | | ---------- | ------------------------------------------------------------------------------------------------ | | Framework | Next.js 16 (App Router), React 19, TypeScript | | i18n | next-intl (English, Turkish, Russian, Azerbaijani) | | Canvas | @xyflow/react | | State | Zustand | | Styling | Tailwind CSS v4 | | AI | Anthropic Claude (adaptive thinking) with Gemini fallback; Gemini embeddings for semantic search | | Quran data | alquran.cloud + Quran Foundation API; canonical morphology for root grounding | | Auth | Quran Foundation OAuth2 PKCE | | Database | PostgreSQL + pgvector + Drizzle ORM | | Testing | Vitest, Playwright | | CI | GitHub Actions |
Contributing
Want to run this locally or contribute? See CONTRIBUTING.md — it covers local setup, running tests, and commit conventions. Read it fully before opening a PR: the project touches sacred content, and theological changes (AI prompts, divine name data, verse framing) have extra requirements detailed in Theological Standards.
Security
Report vulnerabilities privately to [email protected]. See SECURITY.md.