Who founded one of the world's oldest universities? — credits
The founding of the Qarawiyyin of Fez, told from its sources: the woman the chronicles of Fez name, in a chronicle written about 470 years after the date it gives; the panel of 877 that names a prince; and how a small mosque became a place of learning and, in 1963, a university. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Ibn Abi Zar', al-Anis al-Mutrib bi-Rawd al-Qirtas (written 726 AH / 1326 CE), Commons/Wikisource scan pp. 29 to 41: the founding story as he tells it (her name and kunya, the lawful fortune, the plot bought from a man of Hawwara, the start of Ramadan 245 / late 859, earth and stone from the plot, the well, the fast, four aisles and a low minaret), the 'it is said' two-sisters version, the 1130s crowds and the judge paying from the endowments, the 1145 covering of the gilded carving, the 1326 Friday count
- al-Nasiri, al-Istiqsa 1:221 to 233 (quoting Ibn Abi Zar'): the wording of the inheritance and of the method 'so that nothing doubtful entered the mosque' shown on screen
- al-Jazna'i, Jany Zahrat al-As (c. 1365), ed. Ben Mansur 1991 pp. 45 to 46 (ed. Bel 1923 pp. 34 to 35): the two-sisters version, his citation of Ibn Abi Zar' and of the lost History of Fez by Ibn Jannun; quoted in al-Risala 261:59 for the 1349 library and its salaried keeper
- Ibn Khaldun, Kitab al-'Ibar 4:18 to 21: Umm al-Banin and the well in the courtyard, her name taken from Ibn Abi Zar', 'as if by this she awakened the resolve of the kings who came after her', the 955 to 956 minaret
- al-Bakri, al-Masalik wa al-Mamalik (1068) 2:795 to 796: Fez as two walled towns across a river; the quarter's mosque credited to Idris ibn Idris, with no mention of Fatima
- The wooden panel dated 263 AH / 877 CE naming the Imam Dawud ibn Idris: a published reading after Abdelhadi Tazi in al-Mawsu'a al-Tarikhiyya 2:216; C. Fenwick, in Early Islamic North Africa (2022) pp. 95 to 98 (UCL Discovery): the panel, the coins of al-'Aliya, the 2006 Idrisid foundations, and the reliability of Rawd
- Readings of the panel: C. Benchekroun, 'Les Idrissides: L'histoire contre son histoire', Al-Masaq 23:3 (2011) 171 to 188 (foundation text; Fatima possibly legendary); G. Deverdun (1957, via secondary accounts: perhaps moved from another mosque); A. Tazi (inscriptions named the ruler, not the payer); al-Zirikli, al-A'lam 5:132 (enlarged by Dawud's order; 'We have nothing about Fatima beyond what has been said...')
- J. Bloom, Architecture of the Islamic West (2020) pp. 41 to 42: nothing standing is older than the tenth century; A. Ettahiri and Z. El Kacimi, Hespéris-Tamuda 56:2 (2021) 309 to 336 (PDF): the 2006 rescue excavations under the floor
- al-Marrakushi, al-Mu'jib (written 1224) 1:256: Fez as the seat of learning of the Maghrib, where 'the learning of Kairouan and the learning of Cordoba came together'
- Ibn al-Qadi, Durrat al-Hijal 3:333: Ibn Rushayd teaching al-Bukhari on the east side of the courtyard between the noon and afternoon prayers; Ibn al-Ahmar, A'lam al-Maghrib wa al-Andalus 1:416 to 417: a grammar circle in the Qarawiyyin and a general ijaza
- Ahmad Baba, Nayl al-Ibtihaj 1:134 to 135, 1:288: endowed teaching posts; al-Nasiri, al-Istiqsa 3:111 to 112, 3:176 to 177, 3:206: the Marinid madrasas
- The Guardian, 19 September 2016 (article): the old manuscript room's iron door with four locks and four key-holders
- Guinness World Records, 'Oldest higher-learning institution' (record, read 12 Oct 2026; 2015 title 'Oldest university' via Wayback): the record wording, 'Who: Unknown', the renamed title
- University of Bologna, 'Our history' (unibo.it): 1088 'conventionally referred to'; the definitional debate on 'university' (Rüegg 1992, Makdisi 1981, Lulat 2005, Park and Boum 2006, as summarised in later scholarship)
- University of al-Qarawiyyin (uaq.ma): study revived in the mosque 'in the old manner' on 2 December 1988; Britannica and later scholarship: the 1963 royal decree and the move of classes out of the mosque
- Sahih Muslim 1631 (sahih; sunnah.com): the hadith of the three deeds that continue, shown as text; Qadi 'Iyad, Ikmal al-Mu'lim 5:372 to 373: 'ongoing charity' read as an endowment; Ibn al-Malak, Sharh al-Masabih 1:192 to 193, and al-Zaydani, al-Mafatih 1:303: building a mosque and digging a well as examples
Out of respect, the Prophet ﷺ and the other prophets, peace be upon them, are never depicted; Fatima al-Fihri is shown only through places and objects; and people are shown only from behind.
Made with
- Narration: Google Gemini 3.8 Flash TTS (voice “Algieba”), directed and edited for this film.
- Illustrations: Google Gemini 3.1 Flash Image (backgrounds) and OpenAI GPT Image 2.5 (cut-outs), art-directed and reviewed frame by frame.
- Typefaces (SIL Open Font License): Caveat Brush, Caveat, Patrick Hand, Aref Ruqaa.
- Animation engine, sound design and mix: written for this series.
Sound
No music is used. All sound effects are CC0 unless noted.
- amb_city_dawn_distant — AMB CITY, DAWN, BACKYARD, DISTANT-TRAFFIC, BIRDS (Freesound) by tferrino, CC0 1.0. Edits: source 33.0-57.0 s (after a passing car at 0-5 s and 25-28 s; no voices, horns, sirens, bells or call to prayer in this window, judge + envelope checked); highpass=f=70:poles=2; present-day city at dawn, distant traffic hush and birds; 20 s seamless loop (2 s crossfade), -26 LUFS; 48k/16-bit
- amb_fez_channels — Pensol - le Moulin cours d'eau.wav (Freesound) by Franq, CC0 1.0. Edits: source 2.0-66.0 s (running water only, blind judge); highpass=f=80:poles=2; 45 s seamless loop (2 s crossfade), -24 LUFS; al-Bakri's water channels and mills of Fez
- amb_fez_court_fountain — Silencyo_VILLAGE_DAY_Fountain_distant_birds_frogs_MSd.aif (Freesound) by silencyo, CC0 1.0. Edits: source 0.5-36.5 s (before the hand splashes at 37 s; fountain and sparrows only); highpass=f=100:poles=2; 30 s seamless loop (2 s crossfade), -26 LUFS; a courtyard fountain jet by day (Marinid courtyard and the courtyard today)
- amb_fez_dawn_court — Aube Seurre cour - dawn yard birds (Freesound) by nicotep, CC0 1.0. Edits: source 20.0-66.0 s (collared doves, a hoopoe, sparrows; no voices, bells or engines, blind judge); highpass=f=150:poles=2, lowpass=f=9000; 40 s seamless loop (2 s crossfade), -26 LUFS; the Fez courtyard at dawn, 245 AH (no fountain in that era)
- amb_fez_dusk_court — Pensol - le Moulin cours d'eau.wav (Freesound) + house `amb_night.wav` (#522299 Defelozedd94, #165526 felix.blume) by Franq + Defelozedd94, felix.blume, CC0 1.0 (all). Edits: water source 10.0-54.0 s, highpass=f=90, lowpass=f=2800 (a channel heard beyond the wall); amb_night highpass=f=200, about 5 dB under the water; 40 s seamless loop, -26 LUFS; the bookend courtyard at dusk
- amb_jm_lane_quiet — #653946 "Quiet breeze with bird singing softly, insect noises, a horse neighs far sometimes" by felix.blume, CC0 1.0. Edits: cut 25.0-49.0 s (no horse/insect buzz in this window); HPF 150 Hz x2; 22 s seamless loop (2 s crossfade), -24 LUFS
- amb_predawn_room — #210091 "room small night" by Yuval, CC0 1.0. Edits: source 270-323 s (clean stretch, no footsteps); HPF 50 Hz, LPF 9 kHz; 50 s seamless loop (2 s crossfade), -26 LUFS
- amb_quiet_room_day — #837996 "windy roomtone ile callot" by bruno.auzet, CC0 1.0. Edits: cut 190.0-216.0 s; HPF 40 Hz, LPF 14 kHz; 24 s seamless loop (2 s crossfade), -26 LUFS
- sfx_blind_click — #635786 "window residential slide open close click latch various" by kyles, CC0 1.0. Edits: cut 1.38-1.66 s (one latch click); HPF 120 Hz; trim, fades, peak -1 dBFS
- sfx_blind_unroll — #532775 "roller shade up.mp3" by twinpix, CC0 1.0. Edits: full 0.00-1.05 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_card_thud — #824385 "Softcover book hitting table" by nyxlitten, CC0 1.0. Edits: cut 3.80-4.25 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_drop — #844390 "Cloth flaps" by Maraboop, CC0 1.0. Edits: cut 0.02-0.72 s (soft double flap); HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_swish_1 — #391448 "Shirt Whoosh 1.wav" by saturdaysoundguy, CC0 1.0. Edits: cut 6.70-7.40 s; HPF 80 Hz,FFT denoise 10 dB (floor -72); trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_jm_stone_slide — #558254 "Heavy Stone Push" by msavioti, CC0 1.0. Edits: full 0.00-1.13 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_jm_wood_thunk — #669467 "SFX_wood_stone_floor_axe_handling_drop.wav" by EricsSoundschmiede, CC0 1.0. Edits: cut 0.05-1.50 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_leather_slap — #545545 "leather couch sounds impact thud strike.wav" by rsellick, CC0 1.0. Edits: cut 24.47-24.85 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_page_turn_1 — #136778 "Page Turn" by davidbain, CC0 1.0. Edits: cut 0.00-1.98 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_page_turn_2 — #397548 "Page Turn 01" by LilMati, CC0 1.0. Edits: cut 0.00-0.50 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_1 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 0.30-2.55 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_2 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 2.50-4.45 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_3 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 1.45-2.15 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_4 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 5.70-6.41 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_5 — #211246 "PageRustle" by Tomoyo Ichijouji, CC0 1.0. Edits: cut 0.10-1.90 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_slide_1 — #464302 "PaperSlide.wav" by eyesonlegs, CC0 1.0. Edits: cut 0.00-1.64 s; HPF 60 Hz,FFT denoise 10 dB (floor -55); trim, fades, peak -1 dBFS
- sfx_paper_slide_2 — #444431 "Sliding Envelope.wav" by MTJohnson, CC0 1.0. Edits: cut 0.20-1.10 s; HPF 80 Hz; trim, fades, peak -3 dBFS
- sfx_paper_tear_1 — #272028 "Ripping Paper" by aldenroth2, CC0 1.0. Edits: cut 0.00-1.96 s; HPF 60 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_tear_2 — #342541 "Fast Paper Rip" by sgrowe, CC0 1.0. Edits: cut 0.00-0.89 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_paper_tear_3 — #170311 "Tearing paper" by ludde44, CC0 1.0. Edits: cut 0.20-1.52 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_pen_tick_1 — #85703 "Pencil_scibble.aif" (via house `sfx_pencil_scribble_2.wav`) by tmkappelt, CC0 1.0. Edits: one tick cut from sfx_pencil_scribble_2 at 0.545-0.785 s; trim, fades, peak -1 dBFS
- sfx_pen_tick_2 — #85703 "Pencil_scibble.aif" (via house `sfx_pencil_scribble_2.wav`) by tmkappelt, CC0 1.0. Edits: one tick cut from sfx_pencil_scribble_2 at 1.245-1.505 s; trim, fades, peak -1 dBFS
- sfx_pencil_scribble_1 — #257518 "Scribble_short.wav" by waldram, CC0 1.0. Edits: cut 0.00-1.27 s; HPF 150 Hz,FFT denoise 12 dB (floor -50); trim, fades, peak -1 dBFS
- sfx_pencil_scribble_2 — #85703 "Pencil_scibble.aif" by tmkappelt, CC0 1.0. Edits: cut 0.00-3.20 s; HPF 150 Hz,FFT denoise 12 dB (floor -62); trim, fades, peak -1 dBFS
- sfx_roller_thunk — #812363 "Knocking once on wood, single footstep" by CuboRodante, CC0 1.0. Edits: cut 0.35-0.66 s (one dry knock + small settle); HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_rope_creak — #231438 "hamp rope creaks" by 6polnic, CC0 1.0. Edits: cut 6.64-7.38 s; HPF 90 Hz; trim, fades, peak -1 dBFS (true peak about +0.3 dBTP)
- sfx_stone_clack — #319226 "Single rock hitting wood.wav" by worthahep88, CC0 1.0. Edits: cut 0.10-0.38 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_stork_clatter — Storks bill-clapping (Freesound) by Breviceps, CC0 1.0. Edits: source 0.0-3.2 s; highpass=f=250, lowpass=f=7000; trim, 0.6 s fade-out, peak -1 dBFS; used once, far off (lowpass + level in sfx.json), in the present-day courtyard only (storks on Fez walls: present day only, brief/visual-world.md)
- sfx_tick — synthesized for this series: A short synthesized key click for typing in the Qaf app screen (made for this series). Non-instrumental.
- sfx_water_drip — Water Drip Free (Freesound) by AardsReal, CC0 1.0. Edits: source 0.0-0.72 s; highpass=f=120:poles=2; single water drip; 48k/16-bit
- sfx_water_drop_splash — Slow Single Water Drop Splash (Freesound) by qubodup, CC0 1.0. Edits: source 0.0-0.34 s; highpass=f=120:poles=2; single slow water drop splash; 48k/16-bit
- sfx_water_trickle_start — Small Creek Runs over Sand Bank (Freesound) by BenHarmSound, CC0 1.0. Edits: source 6.0-10.0 s; highpass=f=90:poles=2; a small creek running over a sand bank, 4 s, used as a trickle starting; 48k/16-bit
- sfx_whoosh_soft_synth — synthesized for this series: White noise through a time-varying log-Gaussian band-pass sweeping 300 Hz -> 2.2 kHz, swell envelope, slow L->R pan.
- sfx_wood_lid_knock — #475294 "Wooden Box: Open / Close 2 (Compilation)" by Sheyvan, CC0 1.0. Edits: cut 7.98-9.00 s; HPF 60 Hz, LPF 17 kHz (removes a 19 kHz whine); trim, fades, peak -1 dBFS