Who founded one of the world's oldest universities? — credits
The chronicles credit Fatima al-Fihri with founding al-Qarawiyyin in Fes, which began as a mosque in 859 and grew into a centre of learning that Guinness lists as the oldest existing, continually operating educational institution in the world. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Ibn Abi Zar', Rawd al-Qirtas (14th c.), as quoted by al-Nasiri, al-Istiqsa 1/231–233: Fatima bint Muhammad al-Fihri (Umm al-Banin), from a Kairouan family settled in Fes; lawful inherited wealth; she bought the plot; the mosque built from the plot's own earth; the year 245 AH / 859 CE; small at first, four aisles and a courtyard
- Ibn Khaldun, Tarikh 4/20: her inheritance from her family; the well dug in its courtyard
- al-Zirikli, al-A'lam 5/132: Fatima al-Fihriyya as founder of the al-Qarawiyyin mosque
- Mudawwanat Ahkam al-Waqf 1/50, 55; Ma'lamat al-Fiqh al-Maliki 1/291–292; Majallat al-Risala 261/60: endowed teaching chairs; growth into a centre of learning
- Sahih Muslim 1631 (Abu Hurayra, from the Prophet ﷺ): "When a man dies, his acts come to an end, but three…" (general teaching; sunnah.com wording)
- Guinness World Records: "oldest existing, and continually operating educational institution in the world"; brought into Morocco's state university system in 1963 (BBC Travel, 2018)
- Caveat: almost everything known about Fatima comes from one 14th-century chronicle; some modern historians (Le Tourneau; Benchekroun, Al-Masaq 23(3), 2011) question its details
Out of respect, the Prophet ﷺ is never depicted, and Fatima al-Fihri is shown only through her name, the deed and the land she bought.
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_courtyard_pigeons_far — Pigeons_Marseille_1 (Freesound) by nicotep, CC0 1.0. Edits: source 5.0-60.0 s; highpass=f=320:poles=2 (city rumble removed); distant flock of pigeons cooing, wings (courtyard, far layer); 40 s seamless loop, -26 LUFS; 48k/16-bit (who-founded-qarawiyyin)
- amb_courtyard_pigeons_near — pigeon walking and cooing.wav (Freesound) by 5ro4, CC0 1.0. Edits: source 0.5-37.0 s; highpass=f=140:poles=2; one pigeon cooing and walking on stone (courtyard, near layer); 30 s seamless loop, -26 LUFS; 48k/16-bit (who-founded-qarawiyyin)
- amb_desert_wind_gentle — Looping Gentle Wind Ambience on an Open Desert Plain.wav (Freesound) by dhallcomposer, CC0 1.0. Edits: source 2.0-38.0 s; highpass=f=50:poles=2; gentle dry wind on an open desert plain (Hijaz wadi, dusk); 30 s seamless loop, -24 LUFS; 48k/16-bit
- amb_morning_birds_dry — #718403 "liminbout sparrows" by bruno.auzet, CC0 1.0. Edits: cut 125-159 s (sparrows, distant pigeons; avoids the car near 190 s); HPF 100 Hz; 30 s seamless loop, -24 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
- amb_well_interior — #164785 "INT Cave Room tone.wav" by deleted_user_2104797, CC0 1.0; #395258 "Cave Water Droplet 1.WAV" by Selulance, CC0 1.0; #395259 "Cave Water Droplet 2.wav" by Selulance, CC0 1.0; #11226 "Tunnel Drip Hit.flac" by jnr hacksaw, CC0 1.0. Edits: designed: cave roomtone bed (cut 20-46 s, HPF 35 Hz, LPF 9 kHz) with 5 single drips with their own echo tails placed at 2.2/7.4/11.9/15.6/18.3 s (HPF 150 Hz, two of them pitched ±6%); 24 s seamless loop, -25 LUFS. The bed is mostly sub-150 Hz rumble
- sfx_bird_takeoff_1 — Small Bird Flying.wav (Freesound) by XfiXy8, CC0 1.0. Edits: source 0.8-4.2 s; highpass=f=150:poles=2; small bird taking flight; peak -1 dBFS; 48k/16-bit (who-founded-qarawiyyin)
- sfx_bird_wing_flutter_1 — Light Wing Flap (Freesound) by TurboFool, CC0 1.0. Edits: source 0.0-2.2 s; highpass=f=150:poles=2; small bird wings, light flutter; peak -1 dBFS; 48k/16-bit (who-founded-qarawiyyin)
- 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_fold — #364740 "open-cardboard-box-compartment.wav" by newagesoup, CC0 1.0. Edits: cut 0.12-0.95 s (quick cardboard flap fold); 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_ceramic_clink_soft — #568758 "Cup and Saucer 2.wav" by bowlingballout, CC0 1.0. Edits: cut 0.08-0.70 s; HPF 100 Hz; trim, fades, peak -1 dBFS
- sfx_clay_knock — #513775 "putting coffee mug to table.wav" by lartti, CC0 1.0. Edits: cut 0.70-1.15 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_cord_pull_1 — #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 9.37-10.08 s (thread pulled through cloth); HPF 120 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_jm_sparrow — #543827 "FXSaSc Sparrows Close Chirp Exterior Birds.wav" by Profispiesser, CC0 1.0. Edits: cut 12.95-14.05 s (two chirps); HPF 300 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_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_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_parchment_unroll — #753282 "Parchment - Unroll" by Vrymaa, CC0 1.0. Edits: cut 16.30-17.36 s; HPF 80 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_scissors_snip — #272035 "Scissors Cutting Paper" by aldenroth2, CC0 1.0. Edits: cut 0.10-1.79 s; HPF 100 Hz,FFT denoise 10 dB (floor -65); trim, fades, peak -1 dBFS
- 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_tissue_slide_1 — #147281 "fh_Paper_Swipe_Surface2_Long_01.wav" by Frank1100, CC0 1.0. Edits: cut 0.10-1.42 s; HPF 120 Hz; trim, fades, peak -1 dBFS
- sfx_tissue_slide_2 — #147286 "fh_Paper_Swipe_Surface2_Mid_01.wav" by Frank1100, CC0 1.0. Edits: cut 0.00-1.24 s; HPF 120 Hz,FFT denoise 8 dB (floor -55); trim, fades, peak -1 dBFS
- sfx_water_drip_echo — #395258 "Cave Water Droplet 1.WAV" by Selulance, CC0 1.0; #11226 "Tunnel Drip Hit.flac" by jnr hacksaw, CC0 1.0; #395259 "Cave Water Droplet 2.wav" by Selulance, CC0 1.0. Edits: 3 single drips with echo tails joined in sequence (each tail decays before the next; onsets about 0.0, 3.0 and 7.5 s); HPF 150 Hz, each peak-matched, 0.6 s tail fades; peak -1 dBFS
- sfx_water_drop — #174718 "Single Water Drop" by paespedro, CC0 1.0. Edits: cut 0.00-0.46 s; HPF 120 Hz; trim, fades, peak -1 dBFS
- sfx_whoosh_2 — #683101 "quick woosh" by florianreichelt, CC0 1.0. Edits: cut 0.05-2.05 s; no EQ; trim, fades, peak -1 dBFS
- sfx_whoosh_3 — #369698 "Whoosh.wav" by crackles04, CC0 1.0. Edits: cut 2.40-6.20 s; no EQ; trim, fades, peak -1 dBFS
- 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_creak_short — #130364 "Slow Creaking Stereo.wav" by harveyism, CC0 1.0. Edits: cut 12.15-13.40 s; pitched/slowed to 0.8x (about -4 semitones); HPF 60 Hz; trim, fades, peak -1 dBFS