# Sources and Review Notes ## Quran Text Selected Quran excerpts were extracted from: - Tanzil Project download page: https://tanzil.net/download/ - Nuqayah Quran text repository: https://github.com/nuqayah/quran-text - Raw Uthmani text used for extraction: https://raw.githubusercontent.com/mustafa0x/quran-text/master/quran-uthmani.txt The Nuqayah repository describes its text as derived from Tanzil's Uthmani text, with portability and Unicode compliance goals. Tanzil's terms require the source to be clearly indicated and linked when its Quran text is used. ## Scope This qaida is a reading primer, not a full tajwid certification text. It introduces common conventions that a beginner meets while reading the Quran. Rules are simplified for first-pass learning and should be taught with oral correction. ## Surah Memorization Library The surah library (`data/quran/selections.json`, fetched by `scripts/fetch-quran.mjs`) uses: - Text: the same Tanzil-derived Uthmani text listed above, extracted per ayah. - Translation (English): Saheeh International, downloaded from Tanzil (https://tanzil.net/trans/en.sahih). Tanzil terms require attribution and unmodified text. - Translation (Urdu): Fateh Muhammad Jalandhry, downloaded from Tanzil (https://tanzil.net/trans/ur.jalandhry), same attribution terms. - Recitation: Sheikh Mahmoud Khalil al-Husary, per-ayah MP3s from EveryAyah (https://everyayah.com/, Husary_128kbps). EveryAyah provides these files free for non-commercial Islamic use. The app shows recitation and translation attribution on every surah page. ## Word-by-Word Glosses and Grammar The "Word by word" popouts in the surah library combine two sources, fetched and cached by `scripts/fetch-quran.mjs`: - English word glosses and transliterations: the quran.com API (api.quran.com, word-by-word data). - Grammar labels and roots: derived from the Quranic Arabic Corpus morphology data (Kais Dukes, corpus.quran.com; GNU GPL) via the mustafa0x/quran-morphology mirror. The app maps the corpus's linguistic tags to simplified child-friendly labels ("verb — past tense", "noun — subject form") — simplifications are the app's own and should be reviewed by an Arabic teacher. Poem word glosses and grammar notes (Persian/Urdu/Punjabi/Hindavi/Arabic/ Turkish/Saraiki) are hand-written for this app and need the same teacher review. ## Full Quran Reader `scripts/fetch-full-quran.mjs` builds per-surah JSON (assets/quran-data/) covering all 6,236 ayahs with the same sources as above (Tanzil Uthmani text, Saheeh International, Jalandhry, quran.com word glosses, Quranic Arabic Corpus grammar) plus the app's rule-based transliteration. Recitation for the full Quran STREAMS from everyayah.com (Husary 128kbps) rather than being hosted — full-Quran audio is ~1.5 GB. Surah names/metadata from the quran.com chapters API. The rule-based transliteration is a reading aid, not tajweed — flagged for teacher review. ## Music & Qawwali Section `data/music.mjs`: descriptions are app-written; lyric excerpts are public-domain texts (Khusrau d. 1325, al-Busiri d. ~1294, Ahmed Raza Khan d. 1921, Ahmadou Bamba d. 1927, Sunan Bonang d. 1525, Rumi d. 1273). No audio is hosted; links open YouTube SEARCH results (robust to takedowns) for famous performances, which remain the artists'/channels' property. Parents guide listening; the page says so. ## Jumu'ah Viewer The khutba feed aggregates PUBLIC YouTube channel RSS feeds (no API key): Yaqeen Institute, Yasir Qadhi, Bayyinah, Zaytuna, Mufti Menk, Islam Channel, Yaqeen Urdu, Haramain Recordings, Alafasy, Ustadz Abdul Somad, Adi Hidayat, Diyanet TV, and Khoutba Wolof Mosquée Touba. Videos play in YouTube's embedded player (youtube-nocookie.com) — nothing is downloaded or re-hosted; all content remains the channels'. Live feed: Cloudflare Worker `qaida-khutba-feed` (workers/khutba-worker/), cached 6h, with a build-time snapshot (`scripts/fetch-khutbas.mjs` → data/khutbas.json) as fallback. AI study notes: `scripts/transcribe-khutbas.mjs` transiently fetches each video's audio for transcription ONLY (deleted immediately, never re-hosted), transcribes with Groq (whisper-large-v3-turbo), and summarizes/translates with Google Gemini Flash into an English summary, key points, cited ayahs/hadith, and an Urdu summary (data/khutba-notes.json). The app labels these as AI-generated and directs viewers to the actual khutbah for the speaker's words. Summaries are transformative study aids; all video content remains the channels', linked and embedded from YouTube. ## Islamic Art Section `data/art.mjs` content is app-written from standard art-history knowledge; gallery images are app-generated ILLUSTRATIONS of each tradition (per the app's standing rule, calligraphy images show tools and abstract strokes, never real letters — image models mangle script). For genuine masterpieces the page directs users to museum collections. Expert review welcome. ## Eid Takbeer Recording The first line of the Eid Takbeer library entry plays a recording titled "Eid takbir by Sheikh Ali Ahmed Mullah" from the Internet Archive (https://archive.org/details/EidTakbir1431), uploaded with a CC-BY 3.0 license mark. Note the license mark is uploader-asserted on what appears to be Haramain broadcast material; usage here is free educational/religious, matching the distributors' intent, but replace it with a commissioned recording before any commercial distribution. The remaining takbeer lines use app TTS. ## Salah, Adhan, and Takbeer Content `data/essentials.mjs` contains the words of salah (thana, tashahhud, durud Ibrahimiyyah), the adhan, and the Eid takbeer, with transliteration and English translation written for this app. Wording follows common Indo-Pak (Hanafi) practice. Dua translations in `data/passages.mjs` are based on Saheeh International, trimmed to the dua portion of each ayah. All of this content should be reviewed by a qualified teacher before classroom use; its audio is app-generated TTS and is labeled as practice audio, not recitation. ## Stories `data/stories.mjs` contains original retellings written for this app: - The Year of the Elephant (Surah Al-Fil and the sirah literature) - The Spider and the Dove (the Hijrah and the cave of Thawr; Quran 9:40) - The Camel Who Cried (mercy-to-animals hadiths: the weeping camel, Abu Dawud; the mother bird, Abu Dawud; the thirsty dog, Bukhari/Muslim; ants, Abu Dawud; Abu Hurairah's kunya) - Ten Years Without an "Uff" (Anas ibn Malik's service, Bukhari/Muslim; salam to children; Abu Umayr and the nughayr, Bukhari; the long sujud; "he who does not show mercy to our young", Tirmidhi) - The Sweetest Grapes of Ta'if (Ibn Hisham's sirah; the Angel of the Mountains hadith, Bukhari/Muslim; the dua of Ta'if as commonly transmitted in sirah works — its chain is debated among scholars, flag for teacher review) - The Day of Forgiveness (conquest of Makkah, sirah literature and Bukhari/Muslim; "no blame upon you today"; Bilal's adhan) - The Boy and the King (the People of the Ditch, Surah Al-Buruj / Sahih Muslim) - The Night of the Hungry Children (a widely narrated story of Umar ibn al-Khattab from the histories) - Salahuddin and the Key of Mercy (standard histories) - Ibn Battuta and the Endless Road (the Rihla) - The Fisherman and the Jinni (Arabian Nights, long in the public domain) - Abdelkader, the Knight of the Desert (standard biographies; the 1860 Damascus rescue is extensively documented — estimates of those saved vary from several thousand to over ten thousand; Elkader, Iowa is real) - Akbar and the House of Listening (Akbarnama and standard Mughal histories; the book deliberately centers justice/tolerance — abolition of pilgrim taxes and jizya, Ibadat Khana, famine relief, sulh-i-kul — and explicitly notes on its own page that Akbar's later religious experiments are debated; Birbal tales are folk tradition and framed as such) - Fatima and the University of Light (founding of al-Qarawiyyin, 859 CE; Guinness/UNESCO "oldest continuously operating university"; the two-year fast is Fez tradition, framed as "the story of Fez says"; the Gerbert-of-Aurillac/Pope link is a popular claim softened to "some say") - Mansa Musa and the Golden Road (Ibn Khaldun, al-Umari and Cairo chroniclers for the 1324 hajj and gold inflation; Djinguereber and Sankore are standard history; the modern manuscript rescue is documented journalism) - Edhi, the Richest Poor Man (Edhi Foundation records and his autobiography "A Mirror to the Blind"; Guinness record for the ambulance network; 2016 state funeral and cornea donation are documented) - Jinnah and the Unbreakable Word (standard biographies incl. Wolpert; 11 August 1947 assembly speech quoted from the record; the hidden illness is documented from his physician's account) - Faisal, the King in the Patched Robe (1962 abolition of slavery, girls' schooling with Queen Iffat, 1969 Rabat summit/OIC founding, 1973 embargo, 1975 assassination and unmarked grave — all standard history; the embargo page is framed neutrally as "his hardest choice") - Mossadegh and the Stolen River (1951 nationalization, TIME Person of the Year 1951, The Hague appearance, the 1953 coup — described per the declassified CIA acknowledgment (2013) — trial, house arrest; his secular politics are not presented as religious practice; framed as a justice story. Politically sensitive — teacher/parent review recommended) - Nusayba, the Shield of Uhud (Umm Umarah in Ibn Sa'd/Ibn Hisham and hadith collections: the Aqaba pledge, Uhud — "whichever way I turned…" —, her wounds, Yamamah, and the occasion of Quran 33:35; the Prophet ﷺ never depicted in its art) - Ibn Sina and the Book That Healed the World (his autobiography as recorded by al-Juzjani: the forty readings, the Sultan's library, the Canon's six centuries in European faculties, the deathbed charity) - Al-Khwarizmi and the House of Wisdom (his Algebra and arithmetic texts, "Dixit Algorizmi" transmission, geography under al-Ma'mun; personal life is honestly presented as nearly unknown) - Zheng He and the Treasure Fleet (Ming shi and Ma Huan's Yingya Shenglan; ship sizes noted as per records/debated; the Galle trilingual stele of 1411 is real; the Malindi giraffe/qilin episode is standard history) - Razia, Sultan of Delhi (Minhaj al-Siraj Juzjani's Tabaqat-i Nasiri — including the "endowed with every kingly quality" line — coins, the 1236-40 reign; the red-dress appeal is from the chronicle tradition) - Al-Afghani, the Wake-Up Caller (standard biographies incl. Keddie; birth in Asadabad, Persia stated plainly despite his "Afghani" self-styling; the Renan exchange, al-Urwa al-Wuthqa, and the 1891 tobacco protest are documented history — the fatwa itself was Mirza Shirazi's, the book credits al-Afghani only with agitation. His flaws and the scholarly debates about him are stated ON the page ("A Restless, Imperfect Man"). Politically complex figure — teacher/parent review recommended) - Rabia of Basra, Gharib Nawaz, Rumi & Shams, Imam Abu Hanifa (classical hagiographies and standard biographies; miracle stories are framed as "the stories say"; Abu Hanifa's cases from the standard manaqib literature) - Malala and the Right to Learn (her memoir I Am Malala, BBC Urdu diary 2009, UN speech 12 July 2013, Nobel 2014, Malala Fund, Oxford 2020. LIVING PERSON, presented factually and respectfully; the 2012 attack is told without graphic detail. Politically sensitive for some audiences — parent/teacher review recommended; the grown-ups Story shelf toggle can hide any book) Artwork is app-generated illustration (xAI Grok). By design, no image depicts the Prophet ﷺ, his family, or the early caliphs — the Hijrah and kindness books show animals, objects, landscapes, and the people around him (the crying camel, the grape plate, empty streets, crowds with no central figure); the Umar book shows the tent, the pot, and the sack. Depictable figures (Salahuddin, Ibn Battuta, Bilal, Addas, Anas as an old narrator, the boy and king of Al-Buruj) may appear. Historical retellings are simplified for children and should be reviewed by a teacher. ## Dhikr & Poetry `data/poetry.mjs` and the dhikr entries in `data/essentials.mjs` contain: - Rumi: Persian originals from the Masnavi and Divan-e Shams (13th century, public domain): the Song of the Reed, "Through Love", "The Soul's Journey" (az jamadi murdam), "Dead, I Came Alive" (murda budam). - Saadi: Bani Adam from the Gulistan (1258); the UN carpet is real. - Attar: Conference of the Birds (Mantiq ut-Tayr, ~1177), including the si murgh/Simorgh wordplay couplet. - Amir Khusrau: Chhap Tilak, presented as "attributed, as sung in the qawwali tradition" (attribution is traditional rather than documented). - Bulleh Shah: "Ki jaana main kaun" kafi (18th c., oral tradition — wording varies between singers; the app uses common verses). - The Friends of Allah card (Rabia, Data Ganj Bakhsh, Moinuddin Chishti, Nizamuddin Auliya): standard hagiographic tradition, told gently; Rabia's fire-and-water story is legend and framed as "people said." - Iqbal: "Lab pe aati hai dua" from Bang-e-Dara (1924 collection; Iqbal died 1938, so the original is public domain). - Poetry artwork is app-generated in Persian miniature style. - English renderings: written fresh for this app as plain children's translations — not copied from any published translation (modern published translations are often still in copyright). - Dhikr texts (tasbih, Sayyid al-Istighfar, daily adhkar): standard wording from the well-known hadith collections, with app-written transliteration and translation. Needs teacher review like the salah content. ## Tafsir (Surah Study Introductions) `data/tafsir/*.mjs` contains app-written study introductions for all 114 surahs, shown in the Quran reader ("About this surah"). They are written in the SPIRIT of scholarly study Qurans (theme, setting, structure, classical reflections) but are ORIGINAL text — nothing is reproduced from The Study Quran (Nasr et al.) or any copyrighted commentary. Classical views are attributed generically ("the commentators note") to avoid misattribution; hadith cited (e.g., virtues of surahs) follow well-known reports, a few of which are noted as debated. This is the app's most scholarship-adjacent content: REVIEW BY A QUALIFIED TEACHER IS ESSENTIAL before classroom use. ## Seerah & History Section `data/seerah.mjs` — twenty ~1000-word chapters from the Prophet's ﷺ birth to the 1924 abolition of the caliphate. Sources: standard sirah literature (Ibn Hisham, at-Tabari, al-Mubarakpuri's arrangement) and mainstream academic history for the imperial chapters. Editorial choices, stated on-page: no artwork depicts the Prophet ﷺ, his family (incl. the Twelve Imams), or the four caliphs; the succession/schism/Twelver/Ismaili chapters are DESCRIPTIVE of each tradition's self-understanding, written for a mixed Sunni/Shia readership without adjudicating between them; Karbala is narrated with shared grief; contested figures (Abdulhamid II, Atatürk) are presented with their debates noted. Communities' own teachers should review chapters 13–16 especially. The 2014 terrorist "caliphate" is explicitly repudiated per scholarly consensus. ## Depiction Policy (updated July 2026) Per Kashif's direction: historical figures MAY now be illustrated across the app — EXCEPT the Prophet ﷺ, his family (including the Twelve Imams), and the four rightly-guided caliphs, who are never depicted; companions are also left undepicted out of caution. Figure portraits are scene-portraits (people at their life's work), women shown in modest dress, no devotional framing. ## Islamic History Timeline & Story of the Script `data/islamic-history.mjs` (History section) and the "Story of the Script" supplements in `data/art.mjs` (script family tree, twelve-style guide, calligrapher's toolkit, lawha/ijaza tradition, calligraphy-around-the-world) were INSPIRED BY the ADLANIA Foundation's museum exhibition on the history of Arabic calligraphy (visited July 2026; exhibit created under the direction of Sheikh Khaled Bentounes). No exhibit text is reproduced — all app text is original and was cross-checked against published scholarship online (e.g., Ibn Muqla's proportioned-script dot system; Ghubari's pigeon-post origin and miniature-Quran use; Sheikh Hamdullah 1436–1520 and the Ottoman school; Mir Ali Tabrizi c. 1400 shaping nasta'liq; the Uthmani mushaf c. 650 CE; Hijazi as the earliest Quranic script; West African lawh/allo board schooling; UNESCO's 2021 listing of Arabic calligraphy). Where the exhibit's dates differed from standard references (e.g., Mir Ali Tabrizi), standard references were preferred or dates were stated loosely. Attributions the exhibit makes that are traditional rather than settled scholarship (e.g., which sultans promoted which style) are phrased generically. Era imagery follows the standing rule: places/objects/landscapes only — never the Prophet ﷺ, his family, or the companions — and calligraphy images show tools and abstract strokes, never real letters. REVIEW BY A QUALIFIED TEACHER RECOMMENDED, as with all app-authored content. July 2026 expansion: the timeline was broadened from calligraphy-focused to general history (politics, science, daily life) with 20 "People to Know" figure cards (Abd al-Malik through Mimar Sinan), a new al-Andalus & Africa era, and a closing chapter "Guarding the Middle Path" on extremism: the Khawarij and the hadith warnings about them; a descriptive treatment of the Wahhabi movement's rise, spread, mainstream critiques, and recent decline; takfirism; ISIS's rise (2013–14), the scholars' Open Letter to Baghdadi (126 signatories, 2014), its defeat by predominantly Muslim forces (Mosul 2017, Baghouz 2019), and the rebuilt al-Nuri mosque; plus practical warning signs of extremist recruitment for young readers. This chapter follows mainstream scholarly consensus, is written descriptively (movements' adherents were mostly nonviolent; communities differ in assessment), and is The September 2026 revision below supersedes this July description and its on-page review banners. ## Hajj Guide and Ramadan Section `data/hajj.mjs` follows the common Tamattu' form per standard manuals of manasik, with school differences deferred to the pilgrim's group scholar (stated on-page). `data/ramadan.mjs` gives the well-known fasting duas (iftar/suhoor/Laylat al-Qadr per the famous reports), a week-by-week program in the widely-taught mercy/forgiveness/salvation frame (noted as devotional tradition), and an original 30-deed calendar. Audio is app TTS. Review by teachers who have performed/taught Hajj recommended. ## Life Lessons Section `data/life.mjs` contains ten app-written reflective essays on living as a good Muslim — purpose, family service, character, tolerance (49:13, 2:256), freedom of conscience with accountability, balance, daily dhikr, work ethics, tawbah, and legacy. Quran/hadith quotations are plain-English renderings with references (hadith sources named per card: Bukhari, Muslim, Tirmidhi, Ahmad, Tabarani, Bayhaqi — grading not stated; VERIFY with a teacher). The framing that liberal-society ideals (tolerance, conscience, dignity) harmonize with Islamic sources is the app's own editorial synthesis and is labeled on-page as a conversation starter, not fatwa. Teacher/parent review strongly recommended for this section. July 2026 expansion: three new lessons — daily adab hour-by-hour; marriage, children & family (30:21, 2:187, 18:46; 'half the deen' hadith per Bayhaqi, 'choose the one with deen' per Bukhari/Muslim — gradings not stated, VERIFY); and the rationale behind prohibitions (alcohol/gambling per 2:219, 5:90–91, extended to modern forms incl. video-game loot boxes; addiction framed with compassion). Plus an 8-stage 'Seasons of a Muslim Life' map (aqiqah to janazah; well-known hadith on youth in worship, mothers, gray hair — some popularly cited, gradings vary) and 9 'What Would You Do?' ethical scenarios (honesty, anti-cheating, refusal skills, anti-backbiting, online-predator red flags). All app-written; the parenting/marriage framing is mainstream but communities differ on details — family review encouraged. Khutbah AI notes now also include the full auto-transcript and, for Urdu khutbahs, a Roman-Urdu transliteration of the summary — same AI-generation caveats as above. ## Words Tab (root & phrase drills) `data/quran-roots.json` is generated by `scripts/build-roots.mjs` from the word-by-word corpus already attributed above (glosses from quran.com; roots from the Quranic Arabic Corpus via the GPL quran-morphology mirror). Root "meanings" are the most frequent machine-cleaned gloss — quick recognition aids, NOT dictionary definitions (stated on-page). The ~20 phrases in `data/words.mjs` are hand-curated with Quranic references; two are noted as hadith-based rather than Quranic. Drill audio is app TTS (ElevenLabs), not recitation (stated on-page). Drill UI design follows Kashif's zabaan.org main screen. The per-surah "Word review" popout reuses the same corpus data. ## Encyclopedia Section `data/encyclopedia.mjs` — 164 cross-linked reference articles (concepts, people, places, eras, events). DRAFTED BY OPENAI CODEX from a detailed app spec (tone, mixed Sunni/Shia descriptive framing, citation style, no depictions of the excluded figures), then reviewed before shipping; spot checks confirmed the both-perspectives framing (caliphate, sufism, madhhab, Jerusalem entries reviewed closely). Article layout follows Kashif's kidipedia.net design, tuned for an older reader. Hero images REUSE existing app-generated art (no new generations); the four seerah era images named after caliphs are deliberately excluded from encyclopedia use. As app-authored religious reference content, TEACHER REVIEW IS RECOMMENDED before classroom use. Expanded July 2026 from 64 to 164 articles by the same Codex-spec route (61 concepts, 47 people, 31 places, 12 eras, 13 events). The expansion adds the four legal-school founders, the major hadith compilers, Jafar al-Sadiq, al-Ghazali, Rumi, the Golden-Age scientists, and women including Khadijah, Aisha, Fatimah al-Zahra, Nur Jahan, and Razia Sultana; places from Kufa and Basra to Konya, Isfahan, and Zanzibar; and events including Badr, the First Fitna, Karbala, 1258, 1453, and Partition. Entries on contested ground (Karbala, the First Fitna, jihad, the Khawarij, takfirism, extremism warning signs) were read closely before shipping: they describe rather than adjudicate, and name where Sunni and Shia communities differ. The depiction rule holds — no `art` is attached to any entry about the Prophet ﷺ, his family, the four rightly-guided caliphs, or the companions. ## Reading Tutorial Practice Pool (July 2026) The drill pool behind each reading lesson was roughly tripled so a student can repeat a lesson many times without meeting the same questions. Drill length is unchanged — `buildLessonQueue` still samples `phaseCap` items (8, or 6 for the letter bites) spread across the lesson's objectives. - `data/curriculum.mjs` — the generated letter-bite lessons now build nine questions per letter (name↔letter, sound↔letter, three listening angles off the one recording, and a harder-distractor repeat) plus a row-level odd-one-out. No new audio: every item reuses that letter's existing clip. - `data/item-bank.mjs` — 746 expansion items across the 29 authored lessons, DRAFTED BY OPENAI CODEX from a spec that fixed the objective tags, the answer-in-choices rule, the Indo-Pak letter names, and a TTS budget, then validated and corrected before shipping. Two corrections were needed: a text "cleaner" Codex added (in response to an over-strict rule in the spec) was stripping tatweel from Quranic text and rewriting lesson-3's letter-shape examples into whole words, and the sound-clinic `know` items had picked up audio that would have given away the answer their paired `ear` item tests. Both are now guarded — the clinic rule is enforced in `data/curriculum.mjs`. As with all app-authored drill content, TEACHER REVIEW IS RECOMMENDED before classroom use; the Arabic vocabulary is Quranic but the question wording and distractor sets are app-written. ## Life — Hard Questions (July 2026) `data/life-questions.mjs` — 12 pages answering the questions most children's Islamic material avoids, added at Kashif's request. `data/life-questions-art.json` holds their image prompts. DRAFTED BY OPENAI CODEX from a spec and reviewed before shipping. Structure is the point: every page opens with a `steelman` — the objection put at full strength in the objector's own voice — and closes with `honest`, an explicit statement of what the answer does NOT settle. The spec forbade apologetics "a sharp fifteen-year-old could pull apart in one move", forbade shaming the asker, and required that where scholars differ the positions are named rather than adjudicated. The 12: is there a God; living with doubt; why bad things happen to good people; why starvation and war are allowed; why modesty rules fall harder on women; the place of women now; more than one wife; inheritance shares; slavery in scripture; hell and mercy (including those who never received the message, and a beloved non-Muslim relative); the Quran and science (including a range of Muslim positions on evolution, named without picking a winner); and why Muslims disagree. Notes on specific pages: - `modesty-both-ways` states that the Quran addresses men first (24:30 before 24:31), names coercion, shaming, and clothing-policing as wrongs in themselves, reports the range of positions Muslim women themselves hold, and explicitly refuses to tie a bow: "That still does not make the practical burden identical." - `women-today` features **Al-Mujadilah Center and Mosque for Women**, Qatar Foundation Education City, Doha — founded by HH Sheikha Moza bint Nasser, opened January 2024, designed by Diller Scofidio + Renfro, with the Ri'aya programme, the Jadal summit, Riwaq journal, and a network of 100+ Muslim women scholars. Details verified against qf.org.qa and almujadilah.qa. The page also names the present-day gap (mosque space, education, consent, withheld inheritance) rather than presenting one new institution as a resolution. - `slavery-in-scripture` states plainly that scripture restricted rather than abolished slavery and that Muslim societies practised it for centuries, including the trans-Saharan and Indian Ocean trades. - `sexuality-and-faith` and `gender-identity` were added at Kashif's request (July 2026), framed as respect for people whose beliefs and lives differ, while being honest that the orthodox position is what it is. WRITTEN BY CLAUDE, not Codex — two pages is not bulk, and the failure modes here (condemnation on one side, evasive vagueness on the other) needed line-by-line judgement. `sexuality-and-faith` states the classical Sunni and Shia position plainly; draws the feeling-versus-action distinction the tradition makes and many communities have stopped teaching; cites the prohibitions on spying, mockery and exposure (49:11–12) and the ethic of satr; grounds respect for others in 109:6 and 60:8; forbids outing, mockery and bystanding; names family expulsion as causing the harm the tradition's protections existed to prevent; and closes by addressing the reader who is themselves gay, including an explicit stay-alive line. `gender-identity` separates the classical khunthā (intersex) jurisprudence from the genuinely new modern question, names the Iranian Shia divergence since Khomeini's 1980s ruling rather than presenting one global position, notes the mukhannathūn of early Medina, anchors on 17:70, and explicitly DECLINES to hand down a ruling on the contested practical questions (pronouns, facilities) — pointing the reader to trusted parents and teachers while fixing a floor of no mockery, no exposure, no endangerment. Both carry the section's standard `honest` field refusing to claim the tension is resolved. THESE TWO PAGES ESPECIALLY NEED KASHIF'S AND A TEACHER'S REVIEW BEFORE CLASSROOM USE. Art (`assets/life/q-*.jpg`) uses a new QUESTION_STYLE: contemplative, unpeopled scenes — a question page should not put a face on a doubt. Codex's first draft prompts ended in long negative lists containing the words "halos, radiance, or glow"; since naming those reliably summons them in this generator, the negatives were stripped and moved into the shared style string before generating. Every Quran citation on these pages was checked. As app-authored material on contested religious questions, TEACHER REVIEW IS STRONGLY RECOMMENDED — the pages are written to end a conversation with a real teacher, not to replace one. ## Architecture (August 2026) `data/architecture.mjs` — 16 styles, 12 elements, 8 exchanges, plus 195 photographs indexed in `data/architecture-images.json`. DRAFTED BY OPENAI CODEX from a spec; validated at 0 problems. Structure is three passes: the styles in rough chronological order (Umayyad through Sahelian and Chinese/Southeast Asian), then the shared vocabulary of elements (dome, pointed and horseshoe arch, muqarnas, iwan, minaret, mihrab, minbar, sahn, jali, girih, charbagh), then what travelled in each direction — 2 borrowed in, 3 carried out, 3 both ways. Every style page names what it INHERITED and from whom, specifically rather than vaguely: the Umayyad entry cites Roman columns reused as spolia, Byzantine basilica planning and dome craft, Sasanian motifs, Coptic and Syrian carving. CONTESTED CLAIMS ARE MARKED AS SUCH, which was the point of the `caution` field. The pointed-arch-to-Gothic and Córdoba-rib-vault entries both state that early Islamic use is attested and transmission widely argued, but that no clean line of descent is established and the systems are not structurally identical. A smoke check asserts that language survives. IMAGES: `scripts/harvest-architecture.mjs` pulls from Wikimedia Commons (museum APIs are the wrong tool — museums hold objects, not buildings). Only public domain, CC0, CC BY and CC BY-SA files are kept, and each records the PHOTOGRAPHER rather than an institution, because these are pictures people took of buildings that belong to everyone. Downscaled to 1600px on the way in. BUG WORTH REMEMBERING: upload.wikimedia.org returns HTTP 429 after roughly two rapid image downloads while the API side keeps reporting success, so the first harvest silently dropped most of its images with no error at all. The script now backs off and retries at 1200ms. Any future asset harvest from Commons needs the same. Discovery also uses file-namespace SEARCH rather than category membership, since top-level Commons categories mostly contain subcategories, not files. 30 of the 36 pages carry photo grids; six targets yielded nothing usable under the licence filter and show text only rather than borrowed images. ## The Museum Gallery (August 2026) `scripts/harvest-museum-art.mjs` → `data/art-gallery.json` + `assets/art-gallery/`. 254 plates shown inside the Art section, grouped as The Hands (8 scripts), The Painted Book (8 traditions) and Pattern and Page (4). 146 from the Metropolitan Museum, 91 from the Cleveland Museum, the rest from Wikimedia Commons and the Library of Congress. RIGHTS: an image is kept ONLY when its own source flags it free — Met `isPublicDomain === true`, Cleveland `share_license_status === "CC0"`, or a Commons file whose `extmetadata` licence matches public domain / CC0 / CC BY. A museum photograph of an old object is not automatically free; institutions do assert rights in their photography, so anything unflagged is skipped rather than assumed. Every plate records collection, accession number, date and licence, and links back to the museum's own record. Zero items lack attribution. Images are downscaled to 1600px on the way in (ffmpeg): museum masters run 3–6MB each and the first Hamzanama batch alone was 45MB before resizing, 9.7MB after. The Hamzanama gets the exhaustive treatment Kashif asked for — 17 surviving folios, most Met, ca. 1565–70, introduced with Akbar's workshop context. The Art landing note now draws the distinction plainly: the chapter illustrations are app-generated pictures OF each tradition; the Gallery is real objects. ## Book Sources (August 2026) `scripts/find-book-sources.mjs` → `data/book-sources.json` (committed) and `library-books/` (GITIGNORED, never deployed — Kashif's direction was to keep the downloads local). 212 works searched, 124 with candidates, 65 verifiably open, 62 downloaded (1.3GB). The app LINKS rather than mirrors. 132 links render across the Library and the Canon directory, labelled honestly: "Read a public-domain copy" only where the item is explicitly PD/CC-licensed or published pre-1929, and "Find a copy" otherwise. Controlled-lending scans are detected by their identifier pattern (`title0000auth`) and excluded entirely — they are borrowable library copies, not public domain, and must never be fetched. The classifier was deliberately tightened after inspecting real results: most archive.org hits for these titles are modern typeset editions or lending scans. A text being centuries old does not make a 1977 edition free to rehost, and modern English translations (Muhsin Khan's Bukhari, Sarwar's al-Kafi and the rest) are recorded as links only. ## The Reading Room (August 2026) `data/reader.mjs` — ten classical Persian works, 114 short passages, opened one at a time inside the Persian Masters section. DRAFTED BY OPENAI CODEX from a spec; validated at 10 works / 114 passages / 0 problems. Works: Gulistan, Bustan (Saadi); Baharistan (Jami); Qabusnama (Kay Kavus); Conference of the Birds (Attar); Masnavi Book One (Rumi); Makhzan al-Asrar, Haft Paykar (Nizami); Shahnameh selections (Ferdowsi); Hafez ghazals. Design follows Kashif's therosegarden.web.app — near-black ground with a warm radial wash, gold `#c9a96e` rules with a diamond centre, cream `#e8d5a8` serif at wide letter-spacing, dark cover tiles. Visual language only; he explicitly did NOT want the ambient-sound "Begin" splash. TWO CONSTRAINTS, stated in the spec and repeated in each page's footer: - every English line is the app's OWN plain rendering, not a published translation (not Arberry, Nicholson, Davis, Clarke, Wolpé, Whinfield or the Gutenberg Gulistan) - these are SELECTIONS — around a dozen short passages per work, 2–8 lines each, never a whole chapter or a substantial portion of any book The Persian originals are all centuries out of copyright (Ferdowsi d. c. 1020 through Jami d. 1492). Covers in `assets/reader/` use a nocturnal READER_STYLE. ## The Canon Directory (August 2026) `data/canon.mjs` combines three files — `canon-quran-hadith.mjs` (76), `canon-fiqh-aqidah.mjs` (64), `canon-sufism-history.mjs` (63) — into a browsable catalogue of **203 works**: 131 Sunni, 51 Shia, 21 read across both, in 14 subjects. DRAFTED BY OPENAI CODEX from three specs sharing one schema. This is the reference index, distinct from the Library (which prints passages from 27 works). A student hears a title named in a lecture — "Bidayat al-Mujtahid", "Bihar al-Anwar", "al-Hidayah" — and looks up what it is, how it is arranged, why it mattered, and what exists in English. It renders INSIDE the Library landing rather than taking its own nav button (the nav is already at 21), as expandable `
` rows with live search and tradition/subject filters. Rows, not pages: 203 more full sections would bloat the document for a thing that is meant to be scanned. Twelve rows deep-link into the Library where passages from that work are printed. The `translation` field was specified to be honest INCLUDING when the answer is no, and it holds up — Bihar al-Anwar says plainly that no complete English translation exists, and Bahishti Zewar distinguishes the complete "Heavenly Ornaments" editions from Barbara Metcalf's "Perfecting Women", which it correctly calls a selective scholarly translation rather than the whole book. The three jobs ran with no shared state, yet their `related` cross-references resolve with ZERO dangling links across files. ## Wiring the Library into the teaching engine (August 2026) Kashif asked where the learning from these texts was actually presented, and the honest answer was: nowhere. The Library, Persian, Devotional, Peoples, Encyclopedia and Hard Questions sections were all read-only — absent from the drill payload, untouched by any progress key, unreachable from any lesson. Two fixes: - `data/tajwid-drills.mjs` turns the rules of Tuhfat al-Atfal into 57 drill items merged into lessons 7, 8, 12 and 13 — the lessons that already teach tanween, sukun, sun/moon letters and qalqalah. They reuse those lessons' EXISTING objective tags, so no lesson gains an objective and no saved mastery is disturbed. Items are generated from RULE TABLES (izhar/idgham/iqlab/ikhfa letter sets, meem sakinah, sun/moon, qalqalah, isti'la) rather than authored, so an item can only be wrong if a table is wrong. `tajwidRuleCoverage` asserts every letter is claimed by exactly one noon rule — it reports alif as unclaimed, which is CORRECT and expected: the izhar letter is hamza (ء), and alif only ever appears as a madd carrier. Do not "fix" that. - `scripts/build-library-phrases.mjs` harvests card-sized passages (3–10 words) into two Words decks, `lib-hadith` (36) and `lib-wisdom` (77), each card naming its work and reference. Tajwid verses are EXCLUDED deliberately: a rule mnemonic stripped of its explanation teaches nothing, and those rules are drilled properly as generated items instead. Library entries carry no word-by-word glosses, so a per-word deck (as built for Persian) would have had nothing honest to draw on — the unit here is the passage. Drill items went 1,174 → 1,231; Words decks 7 → 9. ## The Library — Classical Works of Scholarship (August 2026) 27 works, 513 passages, in four files combined by `data/library.mjs`: `library-tajwid.mjs` (2), `library-sunni.mjs` (9), `library-shia.mjs` (6), `library-kalam.mjs` (10). Each work carries its story, a "why open it" panel, and numbered passages with the original, a transliteration, the app's own English, an explanatory note, and audio. DRAFTED BY OPENAI CODEX from four specs sharing one schema, then validated and reviewed. Every text is centuries old and long out of copyright. Kashif's direction was not to worry about Western IP framing; the practical answer is that the app writes its OWN plain English throughout, as it already does for Quran passages, poetry and devotional lyrics — so no publisher's translation is reproduced. Notably, Codex's own final pass on the kalam file records it rewriting "English renderings that echoed familiar published wording too closely". The spec's loudest rule was NEVER INVENT A TEXT: fewer correct entries beat a filled quota, uncertain wording gets skipped rather than guessed, and a hadith reference number is omitted rather than approximated. A fabricated hadith in a religion app is the worst failure available. Coverage: tajwid 2, hadith 5, philosophy 5, ethics 3, dua 3, sufism 3, creed 2, kalam 2, arabic 1, tafsir 1. By tradition: 20 Sunni, 6 Shia, 1 marked "read across both" (Nahj al-Balagha). Tradition badges appear on every tile and page so the two traditions sit visibly side by side rather than being silently merged. Editorial decisions worth preserving, each pinned by a smoke check so a future session cannot quietly undo them: - **Tuhfat al-Atfal** (all 61 verses) is written as the CAPSTONE of this app's own reading course. Its notes use the Indo-Pak letter names the qaida already teaches (bari he, choti he, to'e, suaad) rather than introducing a second naming system, and it links back to lessons 7, 8 and 12. - **Al-Jazariyyah** gives 57 verses covering makharij, sifat, raa and laam, madd, and the closing counsel on tarteel. - **Ghazali's Tahafut al-Falasifa and Ibn Rushd's Fasl al-Maqal** are presented as a PAIR and cross-linked in both directions, both sides fairly, no winner declared. Ibn Rushd also links into the Hard Questions pages on science and on God's existence. - **Ibn Arabi's Fusus al-Hikam** names the controversy plainly — wahdat al-wujud read as monism and rejected on that basis, notably by Ibn Taymiyya, with the defenders' reply that he was misread — states that the page does not declare a winner, and warns that isolated sentences should not be made to carry an entire doctrine. Selections favour comprehensible ethical counsel over the most technically disputed metaphysics. - **Kashf al-Mahjub** is framed through al-Hujwiri as Data Ganj Bakhsh of Lahore, a living connection for this app's Punjabi families rather than a historical footnote. It is the one Persian-language work here; its cross-links to the Punjabis page and the Persian section were added by hand. - **Shia works** are described in their own terms with at least three paragraphs of context each, never adjudicated against Sunni positions. Art (`assets/library/*.jpg`) uses a dedicated LIBRARY_STYLE and one rule specific to this section: the prompts may never show a book with visible pages. These are books ABOUT sacred text and the generator turns any hint of script into mangled pseudo-Arabic, so the scenes are the cities, courtyards, shrines and studies the works came from instead. Audio: 513 clips, routed by language — the Persian Kashf al-Mahjub passages go to Rudra on eleven_v3, the Arabic keeps the Arabic voice and model. BUILD NOTE: the section's runtime identifiers are `scholarshipView` / `showScholarship` / view name "scholarship", NOT "library" — the Surahs memorization list already owned `#libraryView`, `showLibrary()` and the view name "library". The user-facing hashes are still `#library` and `#library-`. Do not "tidy" this back. AS APP-AUTHORED RENDERINGS OF REVERED TEXTS, TEACHER AND SCHOLAR REVIEW IS STRONGLY RECOMMENDED BEFORE CLASSROOM USE. ## Persian Masters (August 2026) `data/persian.mjs` — Rumi, Saadi and Hafez get their own section, 30 poems (10 each), every line glossed word by word. DRAFTED BY OPENAI CODEX from a spec and reviewed before shipping. All three poets died before 1400 CE, so the texts are long out of copyright. The spec carried one instruction that matters more than coverage: **do not include any poem you cannot match to a real Persian original.** A great deal of the most-shared English "Rumi" and "Hafez" is loose modern invention by Coleman Barks or Daniel Ladinsky with no source text behind it. Codex cited real ghazal numbers and opening hemistichs throughout (Divan Ghazal 1, 3, 255, 407; Masnavi Books I–III with section numbers; Gulistan and Bustan chapters), and correctly handled Hafez's Ghazal 1 opening in Arabic inside a Persian poem, glossing each Arabic word as Arabic. The landing page tells readers about the fake-Rumi problem, because it is worth teaching. Sufi wine/cupbearer/beloved imagery is framed as metaphor in the `intro` of every poem where it appears, never printed bare. Expanded to 60 poems (20 per poet) in August 2026 at Kashif's request, reaching further into the Masnavi's parables (the captive parrot, the appointment in India, the grammarian in the whirlpool, the thirsty man and the wall), more Gulistan and Bustan, and more of the Divan. Every added poem cites a real book, section or numbered ghazal, under the same attribution rule. Each of the 60 poems has its own illustration in `assets/persian/poems/`, drawn from that poem's central image rather than generic Persian scenery — the reed bed at dawn, chickpeas in a hammered copper pot, an empty council chamber with a caged myna. Prompts live in `data/persian-poem-art.json` beside the poems and run through a dedicated `POEM_STYLE` in `scripts/generate-story-art.py`. The spec required hard variety; across all 60 prompts the word "garden" appears once. Human presence is small, distant and turned away, or absent. The section was also redesigned to invite reflection rather than skimming: a gradient hero, large poet tiles, a gallery of poem cards on each poet page, full-width poem heroes with the title over a scrim, a wider line-height on the Persian, and a closing "Sit with this" panel. Dividers are pure CSS geometry, a diamond between two gradient rules — deliberately not glyphs, so nothing can render as broken script. `scripts/build-farsi-vocab.mjs` harvests every `[word, gloss, grammar]` triple from `data/persian.mjs` and `data/poetry.mjs`, folds orthographic variants together (ی/ي, ک/ك, ه/ۀ, and the ZWNJ in می‌کند), frequency-ranks them and writes `data/farsi-vocab.json` — 1,177 distinct words found at 60 poems, top 220 kept. Those feed three Farsi decks in the Words tab and a per-poem word-review popout (the Persian twin of the surah popout). Glosses flag shared vocabulary as "also Urdu — same meaning", which is the single most useful thing this section does for its audience. Poet art: `assets/persian/*.jpg` — cities and gardens, never a portrait. ## Devotional Pieces — Naat, Hamd, Qawwali (August 2026) `data/devotional.mjs` — 35 pieces across five kinds (hamd, naat, salaam, qawwali, mawlid) in Arabic, Urdu, Persian, Hindavi, Punjabi and Ottoman Turkish. Each prints its key sections in script + transliteration + translation with audio on every line, and names the one line worth memorizing. Kashif's brief: readers should carry away a LINE, in remembrance of Allah and the Prophet ﷺ. RIGHTS — two tiers, and the section note states both: - `rights: "public-domain"` (32 pieces) — author died before 1930 CE or the text is traditional. Busiri, Khusrau, Jazuli, al-Habshi, Ahmed Raza Khan, Hali, Muhsin Kakorvi, Bulleh Shah, Sultan Bahu, Süleyman Çelebi, Iqbal. Printed in full. - `rights: "excerpt"` (3 pieces) — 20th-century lyricists who may still be in copyright. Kashif approved printing only a key refrain. Tajdar-e-Haram and Bhar Do Jholi (Purnam Allahabadi, d. 2009) and Faslon Ko Takalluf (Muzaffar Warsi, d. 2011): one section, four lines or fewer, lyricist credited on the page via `rightsNote`. WRITTEN BY CLAUDE — Codex ignored the excerpt allowance and shipped public-domain only, which would have left out the two most-loved naats of the last century. A fourth was considered and dropped rather than reconstruct a couplet from memory; a misquoted naat is worse than an absent one. The three excerpt pieces address the Prophet ﷺ directly, which is precisely where Barelvi and Deobandi/Salafi readings diverge. Each `about` notes that those who sing it understand the appeal as asking Allah through him, that Muslims differ, and that families should follow their own teachers. `devotionalIntro` separately notes the disagreement over musical instruments and devotional gatherings without taking a side. NOTE FOR FUTURE SESSIONS: Codex overwrote this file once AFTER its task reported complete, discarding the three hand-added excerpt pieces. They were re-applied from a re-runnable insert script. Verify no `codex exec` process is alive before layering edits onto a Codex-authored file. ## Peoples of Islam `data/peoples.mjs` — 58 introductions to Muslim peoples across 13 regions, plus `data/peoples-art.json`, one image prompt per people. DRAFTED BY OPENAI CODEX from a detailed app spec and reviewed before shipping. The roster was fixed by Kashif's request (Chechens, Senegalese, Tuareg, Punjabis, North Indians, Sham Arabs, Egyptians, Sudanese, Berbers, Malays, Hui, Uyghurs, Black American Muslims) and extended to 58 so that no region carries only one representative. Editorial rules written into the spec and checked on delivery: - Dominant school or branch named plainly, never ranked; Sufi orders described by name as a normal part of these histories; internal diversity noted rather than flattened. - No stereotypes of temperament or appearance; entries describe what peoples built, not what they are supposedly like. - Population figures are estimates and are always hedged. - Hard modern history is stated, not sanitized, and not inflamed: the 1944 deportations of Chechens and Crimean Tatars, the 19th-century Circassian expulsion, Srebrenica (attributed to the findings of international courts), Rohingya statelessness under Myanmar's 1982 citizenship law and the 2017 expulsion, the Hazara massacres of 1891–1893 CE and modern attacks, and the Uyghur detention system since 2017 CE (documented by journalists, researchers and UN human rights bodies; disputed by the Chinese government — stated in exactly those terms). The Palestinian entry states the Nakba and the occupation while also naming Israeli fear and loss, without using one to cancel the other. - The `african-american-muslims` entry runs seven paragraphs and carries the full arc: enslaved West African Muslim writers (Omar ibn Said, Bilali Muhammad, Ayuba Suleiman Diallo), the Moorish Science Temple and Ahmadiyya missions, the Nation of Islam's real social achievement AND the doctrines mainstream Islam does not accept, Malcolm X's hajj and turn to Sunni Islam, Warith Deen Mohammed's 1975 transition, Farrakhan's separate revival, and African American Sunni communities today. Its "Names to Know" list is Omar ibn Said, Malcolm X, Warith Deen Mohammed, and Clara Muhammad. Codex's draft had Amina Wadud in the fourth slot; her scholarship is genuinely influential but she is not recognised as an authority by mainstream Sunni or Shia institutions, and a "Names to Know" list aimed at teenagers reads as a recommendation. Kashif chose the swap (July 2026). Clara Muhammad is historically major, uncontested, a woman, and her subject — starting a school system in her own front room — is close to this app's own theme. Illustrations (`assets/peoples/*.jpg`) are Grok-generated scenes of land, dress, craft, market, and daily life — never a claimed portrait of a sacred figure, and never text in frame. Prompts were reviewed before generation for cultural accuracy and to keep neighbouring peoples visually distinct. One image (`african-american-muslims`) was regenerated after the first pass rendered garbled lettering on cardboard boxes. As app-authored material about living communities, TEACHER REVIEW IS STRONGLY RECOMMENDED, and families from these communities will know their own story better than this file does. ## Alphabet Board `data/alphabet.mjs` — the ungated letter board (28 Arabic letters, 40 Urdu letters). Layout and interaction follow the Letters tab of Kashif's own Urdu tutor at zabaan.org. The recorded letter names in `assets/alphabet/urdu/` are REUSED FROM THAT APP (one clip per Urdu letter); the Urdu letter list, transliterations, and sound hints come from the same source. Tapping a card plays its name recording and, on the Arabic board, the app's own ElevenLabs clip for that letter straight after — so a student hears the Urdu name and the Arabic sound in one tap. ## Audio ### Persian and Urdu need a different MODEL, not just a different voice (August 2026) Kashif reported the Persian sounding wrong — "being done wrong by an arabic voice". The cause turned out to be deeper than voice casting: **`eleven_multilingual_v2`, the model this app used for everything, does not support Persian (fa) or Urdu (ur) at all.** It covers Arabic and Hindi but not those two, so Arabic-script Persian was being read with Arabic phonetics. Of the models on the account, only `eleven_v3` lists fa and ur (74 languages vs 29). Swapping voice alone would not have fixed it. So audio is now routed by language, in `voiceForLang()`: - Arabic and everything else → `HJ8unGw6UFYkApOU0Oea` on `eleven_multilingual_v2` (unchanged; no existing clip invalidated) - Persian, Urdu, Punjabi, Hindavi → Rudra `vIdhHAZdn1bGjKe1dFw8` on `eleven_v3` — Kashif's suggested trial voice, and the same one already narrating the tutorials Two traps found while wiring it: - `normalizeForTts()` folds Uthmani orthography for Quranic Arabic, including rewriting Persian ye (ی) as Arabic ye (ي) and stripping U+0640. That is right for the mushaf and wrong for Persian, so it is now skipped for non-default models. - `eleven_v3` only accepts stability at 0.0/0.5/1.0 and ignores the v2 knobs, so it gets its own `voice_settings`. Clip filenames now carry three legacy-compatible key shapes so nothing already recorded was invalidated: bare text for the original Arabic voice, `voice|text` for the narrator split, and `voice:model|text` only when a non-default model is involved. The 366 Persian/Urdu clips regenerated; the superseded Arabic-voiced Persian clips are simply no longer referenced. `syncManifestAudio()` now copies only manifest-referenced clips into `dist/` instead of mirroring all of `assets/audio/`. That stopped 55.5 MB of superseded audio being uploaded on every deploy. `assets/audio/` keeps everything; only the build artifact is pruned. ### Per-word transliteration (August 2026) Word-by-word chips, the Farsi drill cards and the poem word-review modal now show a romanization under every word. It is DERIVED, not authored: each line already carries a full-line transliteration, and for 298 of 306 lines the space-separated romanization aligns one-to-one with the original words, so `scripts/align-translit.mjs` zips them together. The ~3% that do not align are cases where Persian elision joins words (که‌آرمت → "ke aramat") or Arabic assimilation fuses the article (الساقی → "ayyohas-saqi"); those return null and the chip simply shows no romanization. An honest gap beats a wrong transliteration under a child's finger. 217 of the 220 drill words carry one. ## Audio Interactive drill audio is generated with ElevenLabs text-to-speech. Two voices are used: - `HJ8unGw6UFYkApOU0Oea` — all Arabic clips (letters, words, ayahs, dhikr) and the storybook narration. - `vIdhHAZdn1bGjKe1dFw8` — the English narrator of the reading-tutorial slides (changed July 2026). Clip filenames hash the text alone for the first voice, so every clip recorded before the split kept its name; any other voice namespaces the hash with its id. The audio is for practice support only; it should not be treated as a certified Quran recitation. Letter-name recordings on the alphabet board come from zabaan.org, not from this pipeline. ## Teacher Check Before printing or distributing: 1. Check every Quran excerpt against the mushaf used by the class. 2. Check the lesson order against the teacher's preferred qaida sequence. 3. Decide whether to use Pakistani pronunciation labels only, or add local Urdu notes. 4. Add school-specific memorization items only after verifying exact wording. ## The World's Poetic Traditions (August 2026) `data/devotional.mjs` grew from 35 pieces to 75, adding 40 across fifteen traditions: Urdu (8), Bengali (6), and two each for Punjabi/Sindhi, Pashto/Kashmiri, Turkish, Central Asian, Malay, West African, East African, Balkan, Dravidian, Chinese/Turkic, Caucasus, Amazigh and regional Arabic. **Rights.** Every new piece is public domain by poet's death date — the oldest is Yunus Emre (d. c. 1320), the latest Ahmadu Bamba (d. 1927). Four pieces use the existing `excerpt` rule instead, showing a single credited refrain from a 20th-century lyricist: Purnam Allahabadi (×2), Muzaffar Warsi, and Kazi Nazrul Islam. A build-time check re-derives the latest year in every `poetDates` string and fails anything after 1930 that claims `public-domain`, so the rule cannot quietly rot. English renderings throughout are the app's own. **Three bugs this exposed, all the same shape.** The devotional renderer was written when every piece was in Arabic script, so it hardcoded `dir="rtl"` and the Arabic font class: - Bengali, Tamil, Gujarati, Cyrillic, Chinese and the romanised African, Balkan and Malay traditions now carry a `script` field that drives both direction and font. 26 of the 40 new pieces are left-to-right. - Audio was about to be generated for all of them with the Arabic qari voice — the identical failure that made the Persian audio unusable, since `eleven_multilingual_v2` has no Bengali or Swahili either. Text-to-speech is now gated to the five languages we have an honest voice for (ar, ur, fa, pa, hi); the other pieces ship with no play button rather than a wrong one. - Smoke tests now assert both: zero RTL on a non-Arabic script, zero play buttons on a silent piece. ## Architecture Images — Second Pass (August 2026) The original harvest searched Commons by **filename text**, which matches words rather than subjects. A visual review of all 195 images found 39 that were simply the wrong thing: Minaret Lake in the Sierra Nevada, Arches National Park (twice, for muqarnas), the Pont des Arts, a road sign in Alhambra California, a Turkish postage stamp, the Archbasilica of St John Lateran filed as the Umayyad Mosque, Kew Gardens' Palm House filed as a charbagh, and a singer at a music festival filed as a jali screen. `scripts/prune-architecture.mjs` removes them by Commons pageid, with the reason recorded per image, and writes `data/architecture-pruned.json` — a ban list the harvester reads, so a rejected image cannot walk back in on a later run. `scripts/harvest-architecture2.mjs` replaces filename search with `incategory:` search: a file has to have been filed under the subject by a person. Two lessons from tuning it, both worth keeping: - **The reject list needs word boundaries.** `sign\b` matched "de*sign*" and `road` matched "b*road*way", silently discarding good photographs. - **A title filter is wrong inside a category.** The `must` pattern was written for filename search; applied to category results it rejected 24 of 24 genuine pointed arches whose filenames were "Spitzbogen" or "arco apuntado". Category membership is the stronger signal, so `must` now applies only where the category is broader than the page (`broad: true`). A second visual review of the 54 newly harvested images cut 21 more — category membership raises recall but does not guarantee the photograph shows the thing the page teaches. The Sheikh Zayed Mosque category, for instance, is full of well-filed photographs of its car park and flowerbeds. **189 images across 35 of 36 pages.** Four pages carry only three. Nothing was generated: an AI image of a real monument, sitting on a page that teaches that monument's history, would be a fabricated record a reader has no way to detect. A page with three real photographs is better than one with six invented ones. ## Persian listening and longer readings (September 2026) The Persian Masters poems, Persian poems in Poetry and Music, the ten Reading Room books, and Farsi vocabulary use ElevenLabs **Shahram — Natural Documentary Narrator**, voice `rNb3hdSf0n4ROIbYC8Bl`, on `eleven_v3` with `language_code: fa`. His Voice Library description identifies him as a Persian speaker. These are generated teaching recordings, not historic recordings or human recitations. Arabic recitation and the existing Urdu/Hindi voice profiles are separate. The expanded Persian originals were retrieved from Ganjoor on 8 September 2026: - Ferdowsi, *Shahnameh*: [opening invocation](https://ganjoor.net/ferdousi/shahname/aghaz/sh1), [praise of wisdom](https://ganjoor.net/ferdousi/shahname/aghaz/sh2), and the [complete Zal-and-Simurgh episode](https://ganjoor.net/ferdousi/shahname/manoochehr/sh2). - Saadi, *Bustan*: [opening invocation](https://ganjoor.net/saadi/boostan/niyayesh/sh1), [chapter 2 opening on generosity](https://ganjoor.net/saadi/boostan/bab2/sh1), and [chapter 4 opening on humility](https://ganjoor.net/saadi/boostan/bab4/sh1). - Saadi, *Gulistan*: all fourteen tales of [chapter 4, On the Benefits of Silence](https://ganjoor.net/saadi/golestan/gbab4). `data/reader-expansion.json` freezes the original Persian, exact source URLs, section locations and text hashes. It includes only the public-domain primary text, not Ganjoor's modern summaries, user comments, translations or recordings. The app displays source/extent links and splits long sections into consecutive readings without omitting their lines. It does not claim to contain these whole books. Historical prejudice in Gulistan tale 4.9 is explicitly contextualized; the text's insult toward a Jewish neighbour is not presented as ethical guidance. `data/persian-reading-glosses.json` contains app-generated plain translations, Iranian Persian romanization and contextual word glosses. These are original study aids, not copied published translations. They were drafted using Gemini, checked for exact word coverage, and reviewed with attention to classical usage; they are not represented as a qualified teacher's certified edition. Original spelling is kept separately from speech pronunciation hints. The Farsi decks now exclude the Urdu, Punjabi and other non-Persian poems from their index. The September Reading Room illustrations are original AI-generated paintings, made with the built-in imagegen tool for the 20 newly added source sections. They interpret the literary imagery rather than reproduce historical paintings. The shared style, individual scene prompts, descriptive alt text and final asset paths are recorded in `data/reader-illustrations.json`. WebP copies are stored in `assets/reader/readings/`; earlier short selections use their existing book-cover illustrations. Repeated review and copyright caveats were removed from content-page footers at Kashif's request. Source links, individual image attributions, and the central Credits and Terms pages retain their information. ## Meet the Scripts — visual specimens (9 September 2026) `data/script-specimens.json` records the selected objects, exact source and image URLs, rights notices, original hashes, and hashes/dimensions of both WebP sizes. The thirteen historical images are uncropped reproductions; the small versions load lazily and full versions open on request. Selection was checked against collection descriptions rather than the broad search labels in the old gallery. - Hijazi: Birmingham Quran, Mingana Islamic Arabic 1572a, folio 1 verso. [University identification](https://www.birmingham.ac.uk/facilities/cadbury/birmingham-quran-mingana-collection/birmingham-quran/what-is); [public-domain reproduction](https://commons.wikimedia.org/wiki/File:Birmingham_Quran_manuscript_folio_1_verso.jpg). - Eastern Kufic: [Cleveland Museum of Art 1933.488](https://www.clevelandart.org/art/1933.488), CC0. - Maghribi: [Met 42.63](https://www.metmuseum.org/art/collection/search/450486), CC0. The main text is Maghribi; the gold heading is Kufic. - Sudani: [Chester Beatty Is 1598, f. 1b](https://commons.wikimedia.org/wiki/File:Al-Fatiha_in_the_Sudani_script_(CBL_Is_1598,_f._1b).jpg), PD-Art reproduction via Wikimedia Commons. - Naskh: [Shaykh Hamdullah album, Met 1982.120.3](https://www.metmuseum.org/art/collection/search/453166), CC0. The caption identifies the small central lines in the lower page, not the larger framing scripts. - Thuluth: [Met inscribed basalt panel](https://www.metmuseum.org/art/collection/search/458012), CC0. - Muhaqqaq: [Umar Aqta Quran fragment, Met 18.17.1](https://www.metmuseum.org/art/collection/search/453985), CC0. - Ghubari: [Met 2015.140](https://www.metmuseum.org/art/collection/search/665823), CC0. The minute writing inside the larger letterforms is the specimen. - Ta’liq: [Darvish Abdullah Munshi letter, Met 2015.139](https://www.metmuseum.org/art/collection/search/665800), CC0. - Nasta’liq: [Sultan Ali al-Mashhadi poetry page, Met 11.84.8](https://www.metmuseum.org/art/collection/search/446175), CC0. - Bihari: [Met 1992.145.2](https://www.metmuseum.org/art/collection/search/453338), CC0. - Diwani: [American Philosophical Society Ms. Coll. 200 Firman, loose leaf 2 recto](https://openn.library.upenn.edu/Data/0043/html/mscoll200_firman.html), Public Domain. The seven text lines are Diwani; the emblem above is a tughra. - Ruq’a: live typeset example using [Aref Ruqaa](https://github.com/aliftype/aref-ruqaa), Arabic design by Abdullah Aref, SIL OFL 1.1. This is identified as a typeset example; font notices are bundled in Credits. - Tughra: [Süleiman monogram, Met 38.149.1](https://www.metmuseum.org/art/collection/search/449533), CC0. Hub submenu artwork reuses Kalam’s existing teaching illustrations. The exact 25 choices are in `data/navigation.mjs`; no third-party licensing is introduced by that reuse. Caveats removed from content footers remain removed. ## Muhammad Ali story (9 September 2026) The ten-page story is original learner-facing prose, checked against: - Muhammad Ali Center biography and timeline: https://alicenter.org/meet-ali/ and https://alicenter.org/the-timeline/ (Louisville childhood, segregation, bicycle theft, Joe Martin, career chronology). - Muhammad Ali Center boxing history: https://alicenter.org/boxing-timeline/ (1964 Liston, 1971 Frazier, 1974 Foreman in Kinshasa, third heavyweight title in 1978). - Muhammad Ali Center spiritual biography: https://alicenter.org/meet-ali/spirituality/ (Nation of Islam and his new name, refusal of military induction, 1970 return before the 1971 Supreme Court reversal, 1975 movement toward Sunni Islam). - Muhammad Ali Center Olympic history: https://alicenter.org/muhammad-ali-an-olympic-life/ (1960 light-heavyweight gold, Parkinson’s diagnosis in 1984, 1996 Atlanta torch lighting). - Clay v. United States, 403 U.S. 698 (1971): https://www.law.cornell.edu/supremecourt/text/403/698 (reversal of the draft conviction; primary judicial decision). - United Nations: https://www.un.org/en/messengers-peace/muhammad-ali (Messenger of Peace appointment in 1998, humanitarian aid and death in 2016). - White House Medal of Freedom citation: https://georgewbush-whitehouse.archives.gov/news/releases/2005/11/text/20051109-10.html (2005 award shown in the final photograph). The story contains no invented quotations. It does not repeat the disputed account of Ali throwing his Olympic medal into a river. Its account of refusing induction describes Ali’s own convictions, without generalizing them to all Muslims. Boxing resumed in 1970; the Supreme Court reversal followed in June 1971. The cover and ten pages use ten distinct archival/contextual photographs (the cover portrait is reused on page five). Each carries a dated caption and linked photographer credit; full provenance, source-image SHA-256 and optimized-image SHA-256 are in data/muhammad-ali-images.json and the public Image Credits page. Sources are Wikimedia Commons records documenting public-domain status or CC0. Kalam’s JPEG optimization preserves each selected source composition. The 1996 torch is a museum object photographed in Athens in 2024; it is not presented as a photograph of Ali lighting the cauldron. The final photograph shows the 2005 Medal of Freedom ceremony, not the 1998 UN appointment. English narration uses the same ElevenLabs multilingual story narrator as the existing books. It does not imitate Muhammad Ali’s voice. Historical verification is a source check, not a claim of independent scholarly review. ## Islamic History expansion — September 2026 The eight earlier chapters have been rewritten and expanded, and ten chapters added: Fatimids, Seljuqs, West Africa, Indian Ocean, China, Southeast Asia, Delhi Sultanate, Safavids, colonial rule and independence, and modern communities. There are 18 chapters, 33 People to Know cards, 5–7 sections per chapter, three key moments per chapter, and individual sources/further-reading panels. The narratives live in `data/history-articles.md`; metadata and source mappings live in `data/history-metadata.json` and `data/history-sources.mjs`. Original prose distinguishes political conquest from gradual conversion, court patronage from universal literacy, and traditional stories from firm evidence. It separates the Ottoman sultanate (1922), Turkish republic (1923), and caliphate (1924), places Bihari manuscripts in pre-Mughal India, and avoids treating modern Ibadi communities or broad reform movements as equivalent to extremists. Women, households, craft labor, enslavement, migration and regional scholarship appear alongside political history. Expert review remains part of the overall editorial process; no repetitive page-bottom caveats have been added. Ten new hero illustrations were generated with the built-in image_gen tool. They are interpretive compositions, not archival evidence or exact architectural reconstructions. They center on books, buildings, tools, ports and landscapes; no protected religious figures are portrayed. Prompts, originals, dimensions and hashes are recorded in `docs/HISTORY-ILLUSTRATION-PROMPTS.json`. The optimized JPEGs are in `assets/history/`; the eight earlier heroes and twenty earlier portraits are retained. No third-party image rights are claimed for this new art. Chapter references checked during this expansion (some academic sources offer abstracts or previews publicly): - Aga Khan Museum — A pre-Mughal Quran in Bihari script: https://collections.agakhanmuseum.org/collection/artifact/quran-manuscript-akm281 - Sher Banu A. L. Khan — Sultanah Safiatuddin and leadership in Aceh: https://www.cambridge.org/core/journals/journal-of-southeast-asian-studies/article/abs/men-of-prowess-and-women-of-piety-a-case-study-of-aceh-dar-alsalam-in-the-seventeenth-century/0D3B74F27284CA1CB50D13F3CFB235FA - Mohammed VI Foundation of African Oulema — The life and contribution of Nana Asma’u: https://fm6oa.org/revue/article/the-life-and-contribution-of-nana-asmau/ - Geoff Wade, National University of Singapore — The Zheng He voyages: a reassessment: https://ari.nus.edu.sg/wp-content/uploads/2018/10/wps04_031.pdf - The Metropolitan Museum of Art — Islam: https://www.metmuseum.org/essays/islam - University of Birmingham — The Birmingham Quran: https://www.birmingham.ac.uk/facilities/cadbury/birmingham-quran-mingana-collection/birmingham-quran/what-is - The Met — The Umayyad period, 661–750: https://www.metmuseum.org/essays/the-art-of-the-umayyad-period-661-750 - The Met — The Abbasid period, 750–1258: https://www.metmuseum.org/essays/the-art-of-the-abbasid-period-750-1258 - J. Habbi — Hunayn, physician and translator (research abstract): https://pubmed.ncbi.nlm.nih.gov/11623411/ - US National Library of Medicine — Islamic Medical Manuscripts: https://www.nlm.nih.gov/hmd/arabic/arabichome.html - The Met — Umayyad Spain, 711–1031: https://www.metmuseum.org/essays/the-art-of-the-umayyad-period-in-spain-711-1031 - The Met — The Nasrid period, 1232–1492: https://www.metmuseum.org/essays/the-art-of-the-nasrid-period-1232-1492 - UNESCO — Medina of Fez: https://whc.unesco.org/en/list/170/ - The Met — The Fatimid period, 909–1171: https://www.metmuseum.org/essays/the-art-of-the-fatimid-period-909-1171 - Cambridge University Library — The Cairo Genizah: https://www.lib.cam.ac.uk/collections/departments/taylor-schechter-genizah-research-unit - The Met — The Seljuqs of Iran: https://www.metmuseum.org/essays/the-art-of-the-seljuqs-of-iran-ca-1040-1196 - UNESCO — Masjed-e Jame of Isfahan: https://whc.unesco.org/en/list/1397/ - The Met — The Mamluk period, 1250–1517: https://www.metmuseum.org/essays/the-art-of-the-mamluk-period-1250-1517 - The Met — The legacy of Genghis Khan: https://www.metmuseum.org/essays/the-legacy-of-genghis-khan - The Met — The trans-Saharan gold trade: https://www.metmuseum.org/essays/the-trans-saharan-gold-trade-7th-14th-century - UNESCO — Timbuktu: https://whc.unesco.org/en/list/119/ - UNESCO — Old Towns of Djenné: https://whc.unesco.org/en/list/116/ - UNESCO — Kilwa Kisiwani and Songo Mnara: https://whc.unesco.org/en/list/144/ - UNESCO — Lamu Old Town: https://whc.unesco.org/en/list/1055/ - UNESCO — About the Silk Roads: https://www.unesco.org/en/silk-roads/about-silk-roads - UNESCO — Quanzhou, Emporium of the World: https://whc.unesco.org/en/list/1561/ - Cambridge University Press — Liu Zhi and Chinese Islamic thought: https://www.cambridge.org/core/books/abs/islamic-thought-in-china/liu-zhi-the-great-integrator-of-chinese-islamic-thought/05713D6AC2F8500FC04E0988CDEB29D4 - UNESCO — Melaka and George Town: https://whc.unesco.org/en/list/1223/ - Geoff Wade, Cambridge History of Islam — Early Muslim expansion in Southeast Asia: https://www.cambridge.org/core/books/abs/new-cambridge-history-of-islam/early-muslim-expansion-in-southeast-asia-eighth-to-fifteenth-centuries/CEF0A1F80C5A6FA3616B027C2980F78F - British Library — Quran manuscripts from Southeast Asia: https://www.bl.uk/stories/blogs/posts/the-art-of-small-things-4-juz-markers-in-quran-manuscripts-from-southeast-asia - UNESCO — Qutb Minar and its monuments: https://whc.unesco.org/en/list/233/ - The Met — The Timurid period: https://www.metmuseum.org/essays/the-art-of-the-timurid-period-ca-1370-1507 - UNESCO — Samarkand, crossroads of cultures: https://whc.unesco.org/en/list/603/ - The Met — The Mughals before 1600: https://www.metmuseum.org/essays/the-art-of-the-mughals-before-1600 - UNESCO — Taj Mahal: https://whc.unesco.org/en/list/252/ - The Met — The Safavids before 1600: https://www.metmuseum.org/essays/the-art-of-the-safavids-before-1600 - The Met — The Safavids after 1600: https://www.metmuseum.org/essays/the-art-of-the-safavids-after-1600 - UNESCO — Meidan Emam, Isfahan: https://whc.unesco.org/en/list/115/ - The Met — The Ottomans after 1600: https://www.metmuseum.org/essays/the-art-of-the-ottomans-after-1600 - The Met — The Ottomans before 1600: https://www.metmuseum.org/essays/the-art-of-the-ottomans-before-1600 - UNESCO — Selimiye Mosque and its social complex: https://whc.unesco.org/en/list/1366/ - National Army Museum — Independence and Partition, 1947: https://www.nam.ac.uk/explore/independence-and-partition-1947 - US Holocaust Memorial Museum — The Armenian genocide: https://encyclopedia.ushmm.org/content/en/article/the-armenian-genocide-1915-16-in-depth - United Nations — History of the question of Palestine: https://www.un.org/unispal/history/ - US Office of the Historian — The Bandung Conference, 1955: https://history.state.gov/milestones/1953-1960/bandung-conf - Library of Congress — Omar Ibn Said Collection: https://www.loc.gov/collections/omar-ibn-said-collection/about-this-collection/ - Muhammad Ali Center — Timeline: https://alicenter.org/the-timeline/ - The Amman Message — Three points: https://ammanmessage.com/the-three-points-of-the-amman-message-v-1/ - Open Letter to Baghdadi — Full text and signatories: https://www.lettertobaghdadi.com/ - UNESCO — Revive the Spirit of Mosul: heritage: https://www.unesco.org/en/revive-mosul/heritage ## Urdu and Hindavi poetry collection — 10 September 2026 Fifteen readings with original script, fresh Kalam translations and word glosses, and spoken study audio using ElevenLabs voice KB5oPHw9aY7yR8FLPldd (eleven_v3). Full sources and selection ranges appear with every poem. Traditional attributions are identified; the four long works are explicitly labelled selections. Modern performance recordings and published translations were not copied. - Chhap Tilak Sab Cheeni: https://sufinama.org/kalaam/chhaap-tilak-sab-chhiinii-amir-khusrau-kalaam - Zihaal-e-Miskeen: https://www.rekhta.org/ghazals/ze-haal-e-miskiin-makun-tagaaful-duraae-nainaan-banaae-batiyaan-ameer-khusrau-ghazals; https://sufinama.org/kalaam/ze-haal-e-miskiin-makun-tagaaful-duraae-nainaan-banaae-batiyaan-amir-khusrau-kalaam - Aaj Rang Hai: https://sufinama.org/rang/aaj-rang-hai-ai-mahaa-rang-hai-rii-amir-khusrau-rang - Sakal Ban Phool Rahi Sarson: https://www.sufinama.org/kalaam/sakal-ban-phuul-rahii-sarson-amir-khusrau-kalaam-16 - Man Kunto Maula: https://www.sufinama.org/qaul/man-kunto-maulaa-amir-khusrau-qaul; https://sunnah.com/tirmidhi:3713 - Mohe Apne Hi Rang Mein Rang De: https://sufinama.org/kalaam/mohe-apne-hii-rang-men-rang-de-rangiile-amir-khusrau-kalaam-20 - Kaahe Ko Byahi Bides: https://sufinama.org/kalaam/kaahe-ko-biyaahe-bides-amir-khusrau-kalaam-2 - Moko Kahan Dhoondhe Re Bande: https://www.hindwi.org/sabad/mokon-kahan-dhundhe-bande-kabir-sabad - Jag Mein Aa Kar Idhar Udhar Dekha: https://www.rekhta.org/ghazals/jag-men-aa-kar-idhar-udhar-dekhaa-khwaja-meer-dard-ghazals - Faqirana Aaye Sada Kar Chale: https://rekhta.org/ghazals/faqiiraana-aae-sadaa-kar-chale-meer-taqi-meer-ghazals - Qasida-e-Lamiya: https://rekhta.org/qasiida/samt-e-kaashii-se-chalaa-jaanib-e-mathuraa-baadal-mohsin-kakorvi-qasiida - Musaddas-e-Hali: https://www.urduweb.org/mehfil/threads/مسدسِ-حالی.21508/; https://www.rekhta.org/ebooks/musaddas-e-haali-ma-zamima-madd-o-jazr-e-islam-altaf-hussain-hali-ebooks-1 - Shikwa · The Complaint: https://www.rekhta.org/nazms/shikva-kyuun-ziyaan-kaar-banuun-suud-faraamosh-rahuun-allama-iqbal-nazms - Jawab-e-Shikwa · The Reply: https://rekhta.org/nazms/javaab-e-shikva-dil-se-jo-baat-nikaltii-hai-asar-rakhtii-hai-allama-iqbal-nazms - Lab Pe Aati Hai Dua: https://www.rekhta.org/nazms/bachche-kii-duaa-lab-pe-aatii-hai-duaa-ban-ke-tamannaa-merii-allama-iqbal-nazms Thirteen new images were generated with the built-in OpenAI image tool; prompts and source paths are recorded in docs/URDU-POETRY-ILLUSTRATION-PROMPTS.json. Noto Sans Devanagari is bundled from Google Fonts under the SIL OFL: https://github.com/google/fonts/tree/main/ofl/notosansdevanagari Licence: licenses/noto-sans-devanagari-OFL.txt. Detailed editorial and audio review: docs/URDU-HINDAVI-POETRY.md. ## Daily comfort and further Urdu poetry — September 2026 The 30 daily dua readings use complete verses from Kalam’s existing Quran dataset, retaining Arabic, Saheeh International translation, transliteration and word meanings. References: 1:6–7; 2:201, 250, 286; 3:8, 9, 16, 53, 147, 191; 7:23, 126; 10:85–86; 14:40–41; 17:24, 80; 18:10; 20:25–28, 114; 21:83, 87, 89; 23:97–98, 109, 118; 25:74; 28:24; 59:10. Compare each full verse at its linked Quran.com page. Thirty-five recitations by Mahmoud Khalil al-Husary were downloaded from the existing EveryAyah Husary_128kbps URLs into assets/daily-duas/. Reflections are Kalam editorial prose, separate from scripture and its translation. Five complete public-domain Urdu ghazals were added: Ghalib’s “Dil-e-Nadaan Tujhe Hua Kya Hai” (11 couplets), “Koi Ummeed Bar Nahin Aati” (10) and “Na Tha Kuchh To Khuda Tha” (3); Mir’s “Hasti Apni Hubaab Ki Si Hai” (9); and Hali’s “Hai Justuju Ke Khoob Se Hai Khoob-tar Kahan” (9). Original-text links are recorded in data/urdu-poetry-more.mjs. The poets died in 1869, 1810 and 1914 respectively. English translations, word glosses and introductions are new Kalam editorial work, not copied modern translations. Eighty-four spoken lines use the user-selected ElevenLabs voice KB5oPHw9aY7yR8FLPldd with eleven_v3. Hali’s repeated “kahan” has recorded speech-only Devanagari pronunciation aids; printed Urdu is unchanged. Five generated illustrations and original-image paths are recorded in docs/DAILY-INSPIRATION-ART.json. The Kalam Letter selects from the app’s existing authored story, art and seerah collections and the sourced Quranic prayers above. Friday khutbah titles, channels, languages and dates come from the existing live YouTube RSS feed worker. Only talks published within the preceding eight days are selected; older or unavailable talks are not described as current. The letter links to original videos through Kalam and does not invent summaries. ## Kalam Letter, daily prayers and museum objects — September 2026 The daily comfort library now contains 50 Quranic readings covering 55 complete verses. Arabic, translations, transliteration, word meanings and al-Husary audio follow the existing checked-in Quran dataset and EveryAyah recordings. Each reading links to its Quran.com verse record. New context notes and reflections are Kalam editorial writing, displayed separately from translated scripture. For email compatibility, the same complete verses use Quran Foundation’s Imla’i Arabic spelling from https://api.quran.com/api/v4/quran/verses/imlaei; `data/newsletter-quran.json` preserves the exact retrieved text and references. The app reader retains its existing Quran script and recitation alignment. Twenty-two additional objects from Cleveland Museum of Art bring the museum index to 276 entries. `data/art-gallery.json` retains the museum title, date, cultural/artist attribution, medium, accession number, object URL, image URL and per-object CC0 licence. Source API: https://openaccess-api.clevelandart.org/api/artworks/. Open-access policy: https://www.clevelandart.org/open-access. The objects cover ceramics, textiles, metalwork, glass, a Quran binding and musical instruments. `data/art-highlights.mjs` provides 25 original Kalam looking guides, including three objects already in the collection. Museum photographs remain uncropped; the letter renditions fit the photograph inside a neutral border. No artwork was generated or attributed to an invented artist. The newsletter’s 29 poetry selections resolve directly from the app’s existing original, transliteration and English translation, with poet attribution and an explicit line range. Each links back to the full Kalam reading and its existing source notes. Every issue contains a Quranic prayer, poetry, a credited artwork and the Jumu’ah collection link; individual lectures are not featured.