Privacy reconciliation
Updated privacy.html wording to "country and city"; stopped writing region in track.php; removed the dated update banner from the homepage.
Every recommendation from the 19 May review, made visible. Click through the phases below; the visual additions are mocked as real screens. The code-only items are noted but not pictured.
Highest user-safety impact and lowest engineering risk. Internal / foundational items only — every item here is a code or config fix, not a new feature. Service-worker offline must be live so pilgrims can use Tawaaf when Mina connectivity collapses.
Updated privacy.html wording to "country and city"; stopped writing region in track.php; removed the dated update banner from the homepage.
user-scalable=noCritical accessibility — pinch-zoom is currently blocked on three app pages. Elderly pilgrims with presbyopia literally cannot zoom in. One-line removal in three viewport meta tags.
contact.html and sources.html end at </htm and start with <\!DOCTYPE> (literal backslash). Quirks-mode is shipping. Re-save end-to-end.
.htaccess cleanupBlock *.md generally, scratch/ folder, the icon-*.html dev pages, and the GeoLite2 zip from being served publicly. One-rule FilesMatch + a RedirectMatch.
lang="ar" dir="rtl"Site-wide Arabic semantics. Screen readers currently skip or mispronounce every Arabic span. Audit JS render points + templates.
prayer.js 60s refetchCurrently re-fetches prayer times + Nominatim reverse-geocode every 60s, violating OSM usage policy. Cache geocoded city; refetch prayer times hourly; compute "next prayer" client-side.
menigngitis typoIn prepare.html data-k attribute. Cosmetic, but trips one localStorage key.
Biggest functional fix for actual Hajj. ~50 lines caching the app shell + rituals + duas. Pilgrims in Mina at 22:00 with no signal will see the cached app instead of a browser offline screen.
High-impact user-facing additions. Most can be in-progress through Hajj and benefit pilgrims mid-trip once the service worker is live and they've installed.
One offline screen with hotel name in Arabic, group leader phone, embassy emergency number, blood type, allergies. Hand a stranger your phone.
View mockupToday's Makkah/Mina/Arafat forecast, peak danger window, drink-now reminder, heat-stroke symptoms. Addresses the #1 cause of pilgrim deaths in 2024.
View mockupWuquf at Arafat, Multazam, Mash'ar al-Haram (Muzdalifah Fajr), Talbiyah as library entry, Istikhārah, Madinah / Masjid an-Nabawi entry.
View mockupAdded to the Prepare phrases section. The single phrase a 2024 heat-collapse victim or bystander needed most.
View mockupCooling towel / neck gaiter, thermal-mylar emergency blanket, pre-counted pebble pouch, USB-C-to-Saudi-plug fan. All recurring 2024 advisory items missing from current list.
View mockupShip the mockup that's been sitting in scratch. 15 sources: Saudi MoH, Nusuk, Adahi, Sunnah.com, IslamQA, Dar al-Iftaa, SeekersGuidance, AMJA, Yasir Qadhi, Mufti Menk, CBHUK, ICNA, Ibn ʿUthaymīn, Hisn al-Muslim.
View mockupMirror of tawaaf counter for stoning at Mina. 7 stones × 3 pillars on tashreeq days; 7 stones for Aqabah on 10 Dhul-Hijjah. Universal need in 45°C heat with crowd pressure.
View mockupOne-tap save of Mina tent coordinates + photo note. Pilgrims abandoned in identical tent rows is the most cited Mina pain point. No account, no upload — localStorage only.
View mockup"Today is 9 Dhul-Hijjah — get to Arafat by zawal — do NOT leave before sunset — pebbles at Muzdalifah after Maghrib." One-screen day briefing.
View mockupSticky chip row at the top: 8 · 9 · 10 · 11-13 · Farewell. Pilgrim looking for "what do I do at Muzdalifah" lands instantly.
"I lost count during tawaf" / "I'm not sure about my niyyah" / "Did my wudu break?" — calm, sourced, four-madhāhib answers in a stress moment.
View mockupSmall persistent header chip: "Talbiyah active" from ihram until first Aqabah pebble, then fades to optional. Removes ambiguity about when to stop.
View on Today screenWhere to get free wheelchairs, upper-level Mataf path, Tanaqol e-cart booking, fiqh validity of wheelchair rituals. Most families don't know this until they arrive.
View mockupPlain-English card on the permit system: what it is, where it's checked, penalties for not having one (SAR 20,000 / 10-year ban). Calms paperwork anxiety.
View mockupLow-luminance amber theme designed for pre-dawn Mash'ar al-Haram and Tahajjud in Mina tents. One-tap moon icon in the app header.
View mockupBigger pieces that benefit from learning how Phase B was used. Several are visual system upgrades that need real Hajj usage data first.
Surface ruling level per sub-step within each ritual card. Prevents Bid'ah-by-accident; reflects the four-madhāhib stance.
View mockupMost Hajj packages include 3-5 days in Madinah. Currently zero coverage. Visit etiquette at Masjid an-Nabawi, salaam at the Prophet's grave ﷺ, Rawdah booking, Quba, Uhud.
View mockupLeaving Arafat before sunset, standing outside the boundary, stoning out of order, treating customs as obligations. Quiet "before you go" reading, no scolding.
View mockupOptional monthly check-in for 12 months after Hajj. One ayah, one dhikr, one reflection. Anchors the lessons pilgrims explicitly say they lose.
View mockupNiyyah wording per Muslim 1218, Black Stone takbir per Bukhari 1613, Zamzam grading nuance, Muwaṭṭaʾ in editions table, Hisn al-Muslim edition spec.
Cleanups from §4 not covered above: card-order canonical, focus rings, font-payload trim, etc.
CSP header, CSRF/Turnstile on contact form, Origin parsing fix in track.php, removal of setup-*.php scripts.
Read-only timeline for families/friends NOT on Hajj. Shows where the pilgrim is in the sequence (Wuquf, jamarat, etc.) in the family's time zone. No tracking, no account.
View mockupBeyond Tahajjud — respect prefers-color-scheme for the whole app, with consistent treatment across every page.
Define state colors (warn, info, success, error), 8-point spacing scale, modular type scale. Document in styleguide.html.
Replace emoji + Unicode + ad-hoc SVGs with one icon library — Phosphor (regular weight) recommended.
View mockupDefine web-font fallback chains for blocked networks; define motion durations + easings.
View mockupStepping back from page-level fixes to ask whether the design decisions themselves are right. Three areas to discuss as themes rather than tickets.
Walk-through of the current palette, type stack, and spacing — what's working, what to formalize, what to trim. Includes the proposed semantic state colors.
OpenTahajjud amber vs. full system-aware dark vs. document the current mixed state. Recommendation: ship Tahajjud for Hajj 2026, full dark mode post-Hajj.
OpenMixed emoji/Unicode/SVG today. Phosphor (or Lucide) standardization, plus an error/empty/loading-state copy guideline.
OpenEach mockup matches the production Tawaaf design system. Click any "View mockup" to see the proposed screen in context.
Discussion welcomed before any of this goes near the live site — see the recommendations document at site-review-2026-05-18.md.