Why do we fast on Mondays & Thursdays? — credits
A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Jamiʿ at-Tirmidhi 745 · Sunan Ibn Majah 1739 (ʿAʾisha): the Prophet ﷺ would make a point of fasting on Monday and Thursday.
- Sunan an-Nasaʾi 2358 (Usama ibn Zayd, graded hasan): Usama noticed he fasted on and off, except for two days; “Which two days?” — “Monday and Thursday.” — “Those are two days when deeds are presented to the Lord of the worlds, and I love for my deeds to be presented while I am fasting.”
- Jamiʿ at-Tirmidhi 747 (Abu Hurayra, graded hasan): “Deeds are presented on Monday and Thursday, and I love that my deeds be presented while I am fasting.”
- Sahih Muslim 1162 (Abu Qatada): asked about fasting on Monday, he said: “On it I was born, and on it revelation came down to me.”
- Fasting these days is a recommended (voluntary) Sunnah, not an obligation.
- Researched with Qaf AI, which retrieves classical sources with citations (including al-Targhib wa al-Tarhib, al-Majmuʿ and al-Jamiʿ al-Sahih lil-Sunan wa al-Masanid), cross-checked on sunnah.com.
Out of respect, the Prophet ﷺ is never depicted, and the companions are shown only from behind. The Maghrib Athan heard in the film marks the moment the fast is broken.
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 film.
- Typing ticks in the app screen: a short synthesized click, made for this series.
Sound
No music is used. All sound effects are CC0 unless noted.
- amb_dawn_birds — #573080 "Dawn Chorus Birdsong" by squashy555, CC0 1.0. Edits: 10 s, 0.8 s fade-in/1.2 s fade-out, -24 LUFS
- amb_dawn_birds_loop — #573080 "Dawn Chorus Birdsong" by squashy555, CC0 1.0. Edits: 10 s seamless loop, -24 LUFS
- amb_dusk_city — #745891 "swifts in Rennes" by bruno.auzet, CC0 1.0. Edits: source 372-394.5 s (away from the mopeds the recordist notes); HPF 80 Hz, low shelf -3 dB @ 250 Hz; 20 s seamless loop (2 s crossfade), -24 LUFS
- amb_fire_crackle — #363092 "Fire Crackle and Flames 002" by TheWoodlandNomad, CC0 1.0. Edits: 10 s seamless crackle loop, -24 LUFS
- amb_night — #522299 "Crickets At Night - Raw sound" by Defelozedd94 (CC0 1.0) + #165526 "Wind singing in the mountain, some night cricket in background" by felix.blume (CC0 1.0) by two recordists (see source), CC0 1.0. Edits: mixed 55/45 (RMS matched), 20 s seamless loop (2 s crossfade), -26 LUFS
- amb_wind_soft — synthesized for this film: Pinkish noise through a broad (~1.1 octave sigma) band-pass wandering 220-650 Hz, slow random gust envelope, faint 5 kHz sand hiss, channels modulated independently. 18 s seamless loop (2.5 s crossfade), -26 LUFS.
- athan_3 — Adhan Recordings from Doha, Qatar - 04 Maghrib Adhan (recorded 2013-2014) (Internet Archive) by Uploader "Doha, Qatar" (muezzin not named), Public Domain Mark 1.0 (as labelled by uploader). Edits: source 0-139.6 s; trimmed (final t = source t - 0.010 s), 70 Hz high-pass, -16 LUFS, fades, 48k/16-bit stereo
- 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_glitter — #211624 "Magic Wand Glitter" by qubodup, CC0 1.0. Edits: cut 4.70-7.95 s; no EQ; trim, fades, peak -1 dBFS
- sfx_dream_shimmer_1 — synthesized for this film: Sparkle texture: ~190 tiny decaying inharmonic sine grains (2.5-9 kHz, random pitch/pan/length) + band-swept airy noise swell, short cross-channel diffusion taps. Non-instrumental.
- sfx_dream_shimmer_2 — synthesized for this film: Same engine, 6 s, 3-10 kHz, sparser - for the dream sequence.
- sfx_dream_shimmer_short — synthesized for this film: Same engine, 1.6 s dense sparkle sting.
- sfx_footsteps_walk_sand — #161815 "Sand walk.WAV" by DasDeer, CC0 1.0. Edits: cut 0.25-3.05 s; HPF 60 Hz, FFT denoise 6 dB (floor -60); 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_flutter_1 — #363851 "papeles volando.wav" by mtheodp, CC0 1.0. Edits: cut 0.00-1.75 s; HPF 150 Hz; slight L->R pan drift (50% mono-sum blend); trim, fades, peak -1 dBFS
- sfx_paper_flutter_2 — #320913 "Paper Flutter .wav" by mickdow, CC0 1.0. Edits: cut 6.85-8.25 s; HPF 150 Hz; slight R->L pan drift; 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_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_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_pop_soft_1 — #47498 "mouthPop_02.wav" by carlSablowEdwards, CC0 1.0. Edits: cut 0.20-0.50 s; HPF 80 Hz, FFT denoise 10 dB, LPF 9 kHz; trim, fades, peak -1 dBFS
- sfx_pop_soft_2 — #431532 "Popping" by supersound23, CC0 1.0. Edits: cut 0.16-0.42 s; HPF 80 Hz, FFT denoise 10 dB, LPF 9 kHz; trim, fades, peak -1 dBFS
- sfx_quill_write — #507864 "Quill and Parchment.WAV" by Nickh69, CC0 1.0. Edits: cut 14.15-15.75 s; HPF 300 Hz (x2), FFT denoise 12 dB (floor -70), +3 dB @ 2.5 kHz; trim, fades, peak -1 dBFS
- sfx_stamp_thump_1 — #448474 "es-stamp.wav" by eddies2000, CC0 1.0. Edits: cut 0.95-1.65 s; HPF 40 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_water_pour — #411438 "Pouring Water" by edschaefer, CC0 1.0. Edits: cut 0.45-2.55 s; HPF 80 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_soft_synth — synthesized for this film: White noise through a time-varying log-Gaussian band-pass sweeping 300 Hz -> 2.2 kHz, swell envelope, slow L->R pan.
- sfx_wing_flutter — #241032 "Bird flying away.wav" (foley: two rubber gloves flapped) by flashdeejay, CC0 1.0. Edits: cut 0.15-2.15 s; HPF 80 Hz; trim, fades (0.45 s out), peak -1 dBFS