How did a prostitute enter Paradise?: credits
A prostitute of the Children of Israel drew water for a dog dying of thirst, and the Prophet ﷺ said she was forgiven: what the hadith says, where the word Paradise appears, and how the scholars explained it. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Sahih al-Bukhari 3467 and Sahih Muslim 2245: the woman, the dog circling the well, the leather sock, "and she was forgiven for it"; Muslim's first wording adds the hot day and the tongue hanging out
- Sahih al-Bukhari 3321: the wording in which she ties the sock to her head-cover (khimar) and draws up water
- Sahih al-Bukhari 173, 2363 and Sahih Muslim 2244: the man who watered a thirsty dog ("Allah thanked him and forgave him"; in 173, "admitted him to Paradise") and "in every moist liver there is a reward"
- Sahih al-Bukhari 3482: the woman and the cat (placed in the same section as 3467)
- Jami' at-Tirmidhi 3840 (hasan): Abu Hurayra's little cat and his kunya
- Musnad Abi Ya'la 6044 and al-Tabarani, al-Mu'jam al-Awsat 531: the one narration that says "a prostitute entered Paradise", through Muhammad ibn Ishaq alone, grading disputed (sahih isnad per Husayn Salim Asad; weak per the editors of al-Musnad al-Musannaf al-Mu'allal 33/195-196)
- Musnad Ahmad 10583, 10621 and Sahih Ibn Hibban 386: further wordings of the woman's story, all ending "forgiven"; Ibn Hibban's chapter heading on small voluntary deeds (al-Ihsan 2/110)
- Ibn Hajar, Fath al-Bari 1/278 ("Allah thanked him" = accepted his deed and admitted him to Paradise), 6/516 (wordings, two events), 11/300-301 (hope and fear; the one who sins on hoping is deluded)
- Ibn 'Allan, Dalil al-Falihin 2/366: whoever is forgiven enters Paradise (said of the man's two wordings)
- Ibn Taymiyya, Minhaj al-Sunna 6/221-222 (pure faith in her heart; not every prostitute who waters a dog is forgiven); al-Mustadrak 'ala Majmu' al-Fatawa 1/224-225 and 3/96 and Mukhtasar al-Fatawa al-Misriyya 2/441-442 (no deed but repentance is sure to erase every major sin; no one is declared for Paradise except by a statement from Allah; faith's measure known to Allah alone)
- Ibn al-Qayyim, Madarij al-Salikin 1/510-512: two deeds of one form; no tool, no helper, no one to show off to; the lights of tawhid
- Abu Bakr ibn al-'Arabi, al-Masalik fi Sharh Muwatta' Malik 7/399-401: "people differed on how to interpret it" and the three views
- Ibn Rajab, Jami' al-'Ulum wa-l-Hikam: the majority hold that major sins are not expiated without repentance
- Al-Nawawi, Sharh Sahih Muslim 14/240-242, and al-Qadi 'Iyad, Ikmal al-Mu'lim 7/179-180: the cat woman's faith (a difference); glosses of muq and moist liver
- Qur'an 3:185, 4:48 and 39:53 (Sahih International translation)
- Sahih al-Bukhari 6469: if the disbeliever knew all the mercy with Allah, and the believer all the punishment
- Sahih Muslim 2626: do not belittle any good deed, even meeting your brother with a cheerful face
- Abu Ishaq al-Shirazi's "the road is shared between me and it": Ibn al-Jawzi, Sifat al-Safwa 2/273-274; al-Nawawi, al-Majmu' 1/14
- Al-Rafi'i, al-'Aziz 10/115: the owner must feed and water his animal, out of respect for the soul (the Hanafis hold it a religious duty not enforced by the judge)
- Al-'Izz ibn 'Abd al-Salam, Qawa'id al-Ahkam fi Masalih al-Anam: the rights of animals over the human being
- Al-Maqrizi, al-Khitat 4/805-806 (the trough of al-Dimyati); al-Sakhawi, al-Daw' al-Lami' 6/209 and 'Ali Mubarak, al-Khitat al-Tawfiqiyya 5/163-170 (Qaytbay's troughs)
- Al-Ramli, Nihayat al-Muhtaj 5/365-366; al-Bujayrami 3/247: endowments to feed dogs, cats and birds, and the jurists who ruled them invalid (the Malikis held them valid)
- Eryavuz, "Kuşevi", TDV İslâm Ansiklopedisi (2002); Gruber, Journal18 issue 11 (2021): Ottoman bird palaces
- E. W. Lane, Manners and Customs of the Modern Egyptians (1836), ch. XIII: troughs for dogs in Cairo, and dogs beaten in the streets
Out of respect, the Prophet ﷺ and every prophet are never depicted, the Prophet's ﷺ words appear only as text, and people are shown only from behind, with no faces. The woman of the story appears once, as a tiny standing figure seen from directly behind, covered from head to ankles; otherwise only through what she handled: her head-cover paying out over the well's lip and the water she drew. Nothing of the man's story is given to her.
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_bosphorus_air: #352356 "Gentle small waves lapping on shore.wav" by Alex_hears_things, CC0 1.0. Edits: cut 2.0-34.0 s; HPF 300 Hz x2, LPF 3.8 kHz (distance); Bosphorus air: small calm water far off below the wall; 28 s seamless loop (2 s crossfade); trim, fades, -24 LUFS
- 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_creek_sand: Small Creek Runs over Sand Bank (Freesound) by BenHarmSound, CC0 1.0. Edits: source 2.0-46.0 s; highpass=f=70:poles=2; small creek over a sand bank (gathered water); 36 s seamless loop, -24 LUFS; 48k/16-bit
- amb_desert_dusk_wind: #666175 "Wind in dry tall grass bulrush type, close recording with muffled air sometimes, gust of wind, far away tree, recorded in Arivaca Road desert in Arizona" by felix.blume, CC0 1.0. Edits: cut 92.0-114.5 s; HPF 100 Hz; 20 s seamless loop (2 s crossfade), -26 LUFS
- 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_dune_atmosphere: Desert sand - Dune atmosphere (Freesound) by Vrymaa, CC0 1.0. Edits: source 20.0-70.0 s; highpass=f=50:poles=2; desert dune atmosphere, light sand wind; 40 s seamless loop, -26 LUFS; 48k/16-bit
- 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_jm_palm_rustle: #423800 "Wind through Palm Trees.wav" by klangfabrik, CC0 1.0. Edits: cut 8.0-30.5 s; HPF 100 Hz; 20 s seamless loop (2 s crossfade), -24 LUFS
- amb_palm_orchard_breeze: #423800 "Wind through Palm Trees.wav" by klangfabrik, CC0 1.0; #517526 "dove calling with out other side noise" by idreesbari, CC0 1.0. Edits: palm wind src 4.0-78.5 s, HPF 120 Hz, LPF ~4.2 kHz, -3 dB high shelf, -4 dB at 560 Hz; 72 s seamless loop (2.5 s crossfade) with slow loop-periodic ±4 dB swells that darken in the lulls; 3 laughing-dove phrases (src 0.60-1.75, 6.15-7.60, 17.50-18.90 s; band-limited 250 Hz-3 kHz, short diffuse echo) placed at 11.0 / 34.5 / 55.0 s; -24 LUFS. Made for fasting-monday-thursday (Madinah palm orchard, late morning)
- 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
- amb_sahel_morning_yard: Un matin à Matam /Morning at Matam.wav (Freesound) by indieground, CC0 1.0. Edits: source 275.0-316.0 s (birds and distant, indistinct children; no intelligible speech, engines, squeaky pump, donkey, music, Athan or recitation in this window: blind judge x2 + a pitched-voice detector, longest voiced run 0.21 s); highpass=f=90:poles=2, lowpass=f=11000:poles=2; a Sahel village morning (stands in for northern Nigeria); 38 s seamless loop (2 s crossfade), -26 LUFS; 48k/16-bit
- amb_sparrows_wall: #628949 "Sparrows01.wav" by Kimskell, CC0 1.0. Edits: cut 0.2-12.0 s; HPF 900 Hz; sparrows chirping by a wall; 9.5 s seamless loop (2 s crossfade); trim, fades, -26 LUFS
- amb_well_noon_wind: #653951 "Soft Neutral Wind" by janbezouska, CC0 1.0. Edits: cut 100.0-145.0 s; HPF 400 Hz x2 (removes the mic buffeting), LPF 6 kHz; still noon, dry wind over a stone well; 40 s seamless loop (2 s crossfade); trim, fades, -24 LUFS
- 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_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_press: #854340 "smoothing apron - rustling fabric - handling canvas" by ponysparkleworld, CC0 1.0. Edits: cut 8.97-9.50 s; HPF 60 Hz, LPF 18 kHz; trim, fades, peak -1 dBFS
- sfx_cloth_swish_3: #320144 "Blanket Movement 6" by OwlStorm, CC0 1.0. Edits: cut 0.00-1.16 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_dog_lap: #654042 "Dog drinking water" by RCSound99, CC0 1.0. Edits: cut 0.00-14.50 s; HPF 120; a dog lapping water (continuous); trim, fades, peak -1 dBFS
- sfx_dog_pant: #724909 "dog panting" by PanFlutist, CC0 1.0. Edits: cut 0.00-10.30 s; HPF 150; a relaxed dog panting (no bark, whine or growl); trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short: synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_jm_leather_thump: #435534 "Leather bag being dropped and picked up" by vintage2005, CC0 1.0. Edits: cut 0.70-1.60 s (first drop; spoken slate at 13 s not used); HPF 40 Hz; trim, fades, peak -1 dBFS
- 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_jm_steps_sandals: #637558 "footsteps walking flip flops sandals dirt.flac" by kyles, CC0 1.0. Edits: cut 1.75-5.35 s (6 steps); HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_map_unroll: #753282 "Parchment - Unroll" by Vrymaa, CC0 1.0. Edits: cut 13.20-16.00 s; HPF 100; a stiff sheet unrolled (the map sound); trim, fades, peak -1 dBFS
- sfx_needle_punch_1: #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 0.05-0.30 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_needle_punch_2: #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 1.85-2.12 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_needle_punch_3: #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 2.20-2.44 s; HPF 150 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_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_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_pour_long: #770039 "Water - Pouring on the ground, in a jar" by Vrymaa, CC0 1.0. Edits: cut 1.00-8.60 s; HPF 100; water poured into a vessel (water-skin into a trough; a bottle into a bowl); trim, fades, peak -1 dBFS
- sfx_pour_small: #363119 "Water Pouring Onto Stone" by TheWoodlandNomad, CC0 1.0. Edits: cut 3.80-5.80 s; HPF 120; water poured onto stone: the boot tipped into the hollow; 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_sheep_bleat: #210511 "sheep bleat outdoors" by Yuval, CC0 1.0. Edits: cut 0.70-2.40 s; HPF 120; one sheep bleat outdoors; trim, fades, peak -1 dBFS
- sfx_spool_creak: #506665 "Wood Creak Single V10" by Rudmer_Rotteveel, CC0 1.0. Edits: cut 0.03-0.95 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_stamp_thump_2: #470710 "traditional stamp.wav" by I.fekry, CC0 1.0. Edits: cut 0.40-1.20 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_steel_bowl_stone: #443041 "Dog_Food_Metal_Bowl.WAV" by AmberdeMeillon, CC0 1.0. Edits: cut 5.42-5.57 s; HPF 150,LPF 4000; a steel bowl set down (the contact only, cut before the ring); trim, fades, peak -1 dBFS
- 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_thread_creak: #862995 "26.07.04- Creaky Playground Swing - Rope Friction 1" by Valerie-Vivegnis, CC0 1.0. Edits: cut 24.50-25.05 s (one creak); HPF 300 Hz; trim, fades, peak -1 dBFS
- sfx_thread_pull_1: #646586 "Sewing cloth.wav" by heifabaisi, CC0 1.0. Edits: cut 92.55-93.30 s; HPF 100 Hz,FFT denoise 10 dB (floor -60); 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_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: #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_water_lap_soft: #654042 "Dog drinking water" by RCSound99, CC0 1.0. Edits: cut 1.00-1.45 s; HPF 120; one soft lap of water (played muffled: water in leather, the boot filling far down); trim, fades, peak -1 dBFS
- 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.