tawaaf

Hajj 2026 mockups
and review explorer

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.

Reviewed 18–19 May 2026 · For internal review only
Shipped already merged and live
Mocked here click through to a designed screen
Internal code-only, no UI
Review visual / theme discussion
Where things live Phase A (Pre-Hajj) Phase B (During Hajj) Phase C (Post-Hajj) UI/UX Review Themes & type Night mode
Phase A · Ship by 22 May 2026

Pre-Hajj install window

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.

A · 1

Privacy reconciliation

Updated privacy.html wording to "country and city"; stopped writing region in track.php; removed the dated update banner from the homepage.

Shipped 2026-05-19
A · 2

Remove user-scalable=no

Critical 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.

Internal · code only
A · 3

Fix file corruption

contact.html and sources.html end at </htm and start with <\!DOCTYPE> (literal backslash). Quirks-mode is shipping. Re-save end-to-end.

Internal · code only
A · 4

.htaccess cleanup

Block *.md generally, scratch/ folder, the icon-*.html dev pages, and the GeoLite2 zip from being served publicly. One-rule FilesMatch + a RedirectMatch.

Internal · code only
A · 5

lang="ar" dir="rtl"

Site-wide Arabic semantics. Screen readers currently skip or mispronounce every Arabic span. Audit JS render points + templates.

Internal · code only
A · 6

Fix prayer.js 60s refetch

Currently 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.

Internal · code only
A · 7

Fix menigngitis typo

In prepare.html data-k attribute. Cosmetic, but trips one localStorage key.

Internal · code only
A · 8

Service worker — offline shell

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.

Internal · code only
Phase B · Ship 23 May – mid-June 2026

During Hajj 1447

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.

B · 9

Emergency card

One offline screen with hotel name in Arabic, group leader phone, embassy emergency number, blood type, allergies. Hand a stranger your phone.

Mocked here
View mockup
B · 10

Heat & hydration card

Today's Makkah/Mina/Arafat forecast, peak danger window, drink-now reminder, heat-stroke symptoms. Addresses the #1 cause of pilgrim deaths in 2024.

Mocked here
View mockup
B · 11

Critical missing duas

Wuquf at Arafat, Multazam, Mash'ar al-Haram (Muzdalifah Fajr), Talbiyah as library entry, Istikhārah, Madinah / Masjid an-Nabawi entry.

Mocked here
View mockup
B · 12

"I need water" phrase

Added to the Prepare phrases section. The single phrase a 2024 heat-collapse victim or bystander needed most.

Mocked here
View mockup
B · 13

Hajj packing additions

Cooling 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.

Mocked here
View mockup
B · 14

Authentic resources section

Ship 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.

Mocked here
View mockup
B · 15

Pebble counter (Jamarat)

Mirror 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.

Mocked here
View mockup
B · 16

Drop my tent pin

One-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.

Mocked here
View mockup
B · 17

Hijri-aware Today view

"Today is 9 Dhul-Hijjah — get to Arafat by zawal — do NOT leave before sunset — pebbles at Muzdalifah after Maghrib." One-screen day briefing.

Mocked here
View mockup
B · 18

Day-jump pill bar on rituals

Sticky chip row at the top: 8 · 9 · 10 · 11-13 · Farewell. Pilgrim looking for "what do I do at Muzdalifah" lands instantly.

Mocked here
View mockup
B · 19

Doubt-resolver microflow

"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.

Mocked here
View mockup
B · 20

Talbiyah window timer

Small persistent header chip: "Talbiyah active" from ihram until first Aqabah pebble, then fades to optional. Removes ambiguity about when to stop.

Mocked here
View on Today screen
B · 21

Wheelchair guidance card

Where 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.

Mocked here
View mockup
B · 22

Tasreeh / Nusuk explainer

Plain-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.

Mocked here
View mockup
B · 23

Tahajjud / night mode toggle

Low-luminance amber theme designed for pre-dawn Mash'ar al-Haram and Tahajjud in Mina tents. One-tap moon icon in the app header.

Mocked here
View mockup
Phase C · Ship post-Hajj 2026 (preparing for 1448)

Iteration & refinement

Bigger pieces that benefit from learning how Phase B was used. Several are visual system upgrades that need real Hajj usage data first.

C · 24

Wajib / Sunnah / Custom chips on rituals

Surface ruling level per sub-step within each ritual card. Prevents Bid'ah-by-accident; reflects the four-madhāhib stance.

Mocked here
View mockup
C · 25

Madinah content

Most 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.

Mocked here
View mockup
C · 26

Common-mistakes cards

Leaving Arafat before sunset, standing outside the boundary, stoning out of order, treating customs as obligations. Quiet "before you go" reading, no scolding.

Mocked here
View mockup
C · 27

"One year later" companion

Optional monthly check-in for 12 months after Hajj. One ayah, one dhikr, one reflection. Anchors the lessons pilgrims explicitly say they lose.

Mocked here
View mockup
C · 28

Authenticity content updates

Niyyah wording per Muslim 1218, Black Stone takbir per Bukhari 1613, Zamzam grading nuance, Muwaṭṭaʾ in editions table, Hisn al-Muslim edition spec.

Internal · content edit
C · 29

Per-page polish

Cleanups from §4 not covered above: card-order canonical, focus rings, font-payload trim, etc.

Internal · cumulative
C · 30

Security hygiene

CSP header, CSRF/Turnstile on contact form, Origin parsing fix in track.php, removal of setup-*.php scripts.

Internal · code only
C · 31

Family back-home view

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.

Mocked here
View mockup
C · 32

Full system-aware dark mode

Beyond Tahajjud — respect prefers-color-scheme for the whole app, with consistent treatment across every page.

Mocked here
View mockup
C · 33

Semantic scales

Define state colors (warn, info, success, error), 8-point spacing scale, modular type scale. Document in styleguide.html.

UI/UX review
View mockup
C · 34

Standardize icon system

Replace emoji + Unicode + ad-hoc SVGs with one icon library — Phosphor (regular weight) recommended.

UI/UX review
View mockup
C · 35

Font fallbacks + motion system

Define web-font fallback chains for blocked networks; define motion durations + easings.

UI/UX review
View mockup
UI/UX review · Added 19 May 2026

Visual system review

Stepping back from page-level fixes to ask whether the design decisions themselves are right. Three areas to discuss as themes rather than tickets.

Review · 1

Colors, type, spacing

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.

Review
Open
Review · 2

Night mode — three options

Tahajjud amber vs. full system-aware dark vs. document the current mixed state. Recommendation: ship Tahajjud for Hajj 2026, full dark mode post-Hajj.

Review
Open
Review · 3

Icon system + microcopy

Mixed emoji/Unicode/SVG today. Phosphor (or Lucide) standardization, plus an error/empty/loading-state copy guideline.

Review
Open

Each 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.