How did Indonesia become the biggest Muslim country? — credits
No foreign army conquered the islands that are now Indonesia: historians describe Islam arriving mainly with Muslim merchants on the monsoon routes and spreading through their honest dealing, marriage, teachers, and rulers such as Malacca's, whom most of his people followed, port by port over about three centuries. The reel ends with the Prophet's ﷺ words "I was only sent to perfect righteous character" (Musnad Ahmad 8952). A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Musnad Ahmad 8952 (narrated by Abu Hurayrah; graded sahih by Shu'ayb al-Arna'ut, Takhrij al-Musnad 14/513; Ibn 'Abd al-Barr, al-Tamhid 16/275): the Prophet ﷺ said, “I was only sent to perfect righteous character.” Also in al-Bukhari, al-Adab al-Mufrad 273.
- Majallat Jami'at Umm al-Qura 2/348–353: Muslim merchants from Arabia and India; their character in buying, selling and dealing drew the islanders' attention to Islam; marriage formed Muslim households along the coasts; teachers.
- al-'Usayri, Mujaz al-Tarikh al-Islami 1/299–301, 1/416: regions the conquerors never reached; the spread was gradual; in Malacca a ruler embraced Islam and most of his people followed.
- al-Tantawi, Dhikrayat 6/236–267: the merchants came to trade; Islam spread step by step, port by port.
- Majallat al-Risala 987/16: Islam came to the islands by peaceful merchants, not by sword or spear; the Samudra Pasai king who died in 1297.
- Britannica, “Samudra-Pasai”: the royal tombstone dated 1297, the earliest securely dated Muslim ruler in the archipelago.
- Asia Society chronology and Ricklefs (via the Wikipedia article “Spread of Islam in Indonesia”): Java's north-coast ports such as Gresik and Maluku's Ternate in the 15th century; Makassar 1605 (about three centuries after Pasai).
- Pew Research Center (2025): Indonesia has the world's largest Muslim population.
- Rihlat Ibn Battuta 4/109–114: the wooden-walled port of Samudra Pasai, its boats, tin and gold (used only for the pictures, not narrated).
- Qaf's answer on the phone screen is a real, unedited excerpt (cropped) of Qaf's answer to the same question.
Out of respect, the Prophet ﷺ is never depicted, and people are shown only from behind. The spread of Islam in the archipelago was mainly peaceful; no foreign Muslim army conquered it, though later sultanates there did fight wars.
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_harbour_stilts — #438839 "G54-04-Pier Lap.wav" by craigsmith, CC0 1.0; #438850 "G54-31-Water Lapping.wav" by craigsmith, CC0 1.0; #214676 "Tropical Birds.wav" by dubminister, CC0 1.0; #191497 "Creaking pier" by morosopher, CC0 1.0. Edits: designed bed: #438839 cut 20-62 s (HPF 80 Hz, LPF 9 kHz, panned L) + #438850 cut 24-66 s (HPF 70 Hz, LPF 8 kHz, panned R, -7 dB) + #214676 cut 70-112 s (HPF 1.2 kHz so only distant birds remain, +5 dB) + two pier creaks from #191497 (0.00-0.95 s and 6.60-7.45 s, HPF 220 Hz) placed at 9.0 s and 27.5 s; 40 s seamless loop (2 s crossfade), -26 LUFS
- amb_open_sea_rigging — #371172 "Sailboat, cockpit at 12kn wind speed" by borralbi, CC0 1.0; #195193 "LargeWoodenShip.mp3" by PimFeijen, CC0 1.0; #852108 "Sailboat Bow" by myLoop, CC0 1.0. Edits: layered: cockpit hull wash + wind 24-58 s (HPF 40 Hz, 0 dB) + wooden creaks 10-44 s (HPF 60 Hz, -21 dB) + bow splash/wind 40-74 s (HPF 80 Hz, -24 dB); 30 s seamless loop (2 s crossfade), -24 LUFS. Made for how-islam-spread
- amb_tropic_breeze_gust — #714265 "gusts in a tree" by bruno.auzet, CC0 1.0. Edits: cut 82.0-92.0 s (one gust swell); HPF 110 Hz, LPF 12 kHz; 0.8 s fade-in, 1.6 s fade-out; -24 LUFS (one-shot, not a loop)
- 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_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_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_flap — #391945 "cloth flap" by ssierra1202, CC0 1.0. Edits: cut 0.00-0.74 s; HPF 60 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_cloth_swish_2 — #391448 "Shirt Whoosh 1.wav" by saturdaysoundguy, CC0 1.0. Edits: cut 9.60-10.30 s; HPF 80 Hz,FFT denoise 10 dB (floor -72); 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_cloves_pour — #264123 "Pouring rice on a clay pot" by kessir, CC0 1.0. Edits: cut 16.35-18.20 s (rice poured onto clay); HPF 150 Hz; trim, 40 ms fade-in, 0.4 s fade-out, peak -1 dBFS
- sfx_cloves_sweep — #802724 "Broom - Cleaning a hard wooden floor" by Vrymaa, CC0 1.0; #264123 "Pouring rice on a clay pot" by kessir, CC0 1.0. Edits: designed: one broom stroke from #802724 cut 7.75-8.85 s (HPF 200 Hz, LPF 11 kHz) + rice rattle from #264123 cut 16.6 s (HPF 300 Hz) shaped by the stroke envelope, -12 dB; trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_jm_basket — #288943 "suitcase-down-4.aif" (wicker case set down) by toefur, CC0 1.0. Edits: cut 0.00-0.85 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_mat_flap_1 — #450376 "wood shutter inner door with antique handle lock open close shut hit frame rattle and handle turn squeaks end various on offmic int perspective.flac" by kyles, CC0 1.0; #580555 "Bamboo mat rustle / breaking" by peqdavid5, CC0 1.0. Edits: designed: shutter clack from #450376 cut 25.45-26.20 s (HPF 260 Hz, LPF 9 kHz) + bamboo-mat crackle from #580555 cut 66.95-67.30 s (HPF 500 Hz, -9 dB) on the hit; trim, fades, peak -1 dBFS
- sfx_mat_flap_2 — #450376 "wood shutter inner door with antique handle lock open close shut hit frame rattle and handle turn squeaks end various on offmic int perspective.flac" by kyles, CC0 1.0; #785117 "Wood - Rattle" by Vrymaa, CC0 1.0. Edits: designed: shutter clack from #450376 cut 11.95-12.65 s (HPF 260 Hz, LPF 9 kHz) + blind rattle from #785117 cut 7.72-8.10 s (HPF 500 Hz, -11 dB, +30 ms); 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_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_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_sail_fill — #465605 "SailDeploy.wav" by codefhd, CC0 1.0. Edits: cut 2.10-3.30 s (the middle whump); HPF 50 Hz; trim, 10 ms fade-in, 0.3 s fade-out, peak -1 dBFS
- sfx_sandal_pat_1 — #388518 "SlippersOnWoodenFloor.wav" by singingmonk02, CC0 1.0. Edits: cut 0.48-0.75 s (one slipper step on a wooden floor); HPF 70 Hz, FFT denoise 12 dB; trim, fades, peak -1 dBFS
- sfx_sandal_pat_2 — #388518 "SlippersOnWoodenFloor.wav" by singingmonk02, CC0 1.0. Edits: cut 0.86-1.12 s; HPF 70 Hz, FFT denoise 12 dB; trim, fades, peak -1 dBFS
- sfx_sandal_pat_3 — #388518 "SlippersOnWoodenFloor.wav" by singingmonk02, CC0 1.0. Edits: cut 1.80-2.06 s; HPF 70 Hz, FFT denoise 12 dB; trim, fades, peak -1 dBFS
- sfx_sandal_pat_4 — #388518 "SlippersOnWoodenFloor.wav" by singingmonk02, CC0 1.0. Edits: cut 2.90-3.16 s; HPF 70 Hz, FFT denoise 12 dB; trim, fades, peak -1 dBFS
- sfx_stick_knock — #554916 "Hollow Wood Knocking" by Yellow434, CC0 1.0; #364704 "Hit Wood Hollow" by alegemaate, CC0 1.0. Edits: designed: single knock from #554916 cut 3.52-3.76 s (HPF 120 Hz) + low thud #364704 (LPF 2.5 kHz, -7 dB, onset-aligned); 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_tin_clink — #776504 "Couple of coins on wood top" by nicoproson, CC0 1.0. Edits: cut 1.28-2.05 s (a few coins set down on wood); HPF 150 Hz, LPF 10 kHz; trim, 0.12 s fade-out, peak -1 dBFS
- 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_bob — #480838 "R23-36-Water Against Wooden Boat.wav" by craigsmith, CC0 1.0; #364704 "Hit Wood Hollow" by alegemaate, CC0 1.0. Edits: designed: two water slaps against a wooden boat from #480838 cut 8.40-9.35 s (HPF 60 Hz) + dull hull knock #364704 (LPF 1.4 kHz, -9 dB, onset-aligned); trim, 0.25 s fade-out, peak -1 dBFS
- sfx_water_lap_small — #438839 "G54-04-Pier Lap.wav" by craigsmith, CC0 1.0. Edits: cut 36.30-37.60 s (one lap against a wooden pier); HPF 50 Hz; 60 ms fade-in, 300 ms fade-out, 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_4 — #60013 "Whoosh" by qubodup, CC0 1.0. Edits: cut 0.00-0.43 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_box_thud — #719794 "Setting down small hard object" by JoMungus, CC0 1.0. Edits: cut 0.00-0.50 s (object set down on a wooden desk); HPF 50 Hz; trim, fades, peak -1 dBFS
- 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