Turn every step into a blessing. Track your walk to the mosque, view prayer times, and discover the spiritual rewards of walking to prayer.
MosqueSteps is a free, privacy-first Progressive Web App (PWA) designed for Muslims who walk to the mosque. It combines real-time step tracking, accurate prayer times, and spiritual reward calculations β all grounded in verified hadith references.
- π Real Step Counting β Uses device accelerometer (Accelerometer API / DeviceMotion) with peak detection algorithm, falling back to GPS distance estimation
- π Prayer Times β Accurate times via Aladhan API with "Leave by" alerts based on walking distance
- π Mosque Finder β Discover nearby mosques via OpenStreetMap Overpass API with Leaflet maps
- β Hasanat Counter β Spiritual rewards calculated per step based on Sahih Muslim 666
- π₯ Streaks & Badges β 15 gamification badges for walks, steps, streaks, and specific prayers
- π Notifications β Browser push notifications for prayer departure reminders
- π Hadith Library β 6 verified hadiths with full Arabic text, grades, and sunnah.com links
- π± PWA / Offline β Installable with service worker caching for offline use
- π Privacy-First β All data stored locally in localStorage, nothing sent to servers
| Layer | Technology |
|---|---|
| Framework | React 18 + TypeScript |
| Build | Vite + SWC |
| Styling | Tailwind CSS + shadcn/ui |
| Animation | Framer Motion |
| Maps | Leaflet + React-Leaflet |
| Prayer Times | Aladhan API |
| Mosque Data | Overpass API (OpenStreetMap) |
| Geocoding | Nominatim |
| Timezone | TimeAPI |
| PWA | vite-plugin-pwa + Workbox |
| Testing | Vitest + Testing Library |
# Clone
git clone https://github.com/codingshot/mosquesteps.git
cd mosquesteps
# Install
npm install
# Dev server
npm run dev
# Run tests
npx vitest run
# Build
npm run buildsrc/
βββ components/
β βββ landing/ # Landing page sections (Hero, Features, FAQ, etc.)
β βββ ui/ # shadcn/ui components
β βββ HadithTooltip # Verified hadith hover cards
β βββ LegalLayout # Shared legal page layout
βββ lib/
β βββ prayer-times # Aladhan API + step/hasanat calculations
β βββ walking-history# localStorage persistence + streak logic
β βββ step-counter # Accelerometer/DeviceMotion step detection
β βββ badges # Gamification badge system (15 badges)
β βββ notifications # Web Notification API + prayer reminders
β βββ notification-store # Persistent notification history with filters
β βββ regional-defaults # Unit/time format detection by region
β βββ routing # OSRM walking route fetching
β βββ blog-data # SEO blog content (health, community, sunnah)
β βββ guides-data # User guide content
βββ pages/ # Route-level components (lazy loaded)
βββ marketing/ # Marketing docs, research, campaigns (see src/marketing/README.md)
βββ test/ # Vitest test suites
βββ assets/ # Images and static assets
- User lands on Landing Page (
/) β learns about the app - Clicks "Start Tracking" β redirected to Onboarding (
/onboarding) - Onboarding: set city, walking speed, stride length, select prayers to walk to
- Completes onboarding β redirected to Dashboard (
/dashboard) - Dashboard prompts: Enable Location and Enable Notifications
- Opens Dashboard β sees current time, upcoming prayers, "Leave by" countdown
- Views Activity Summary (Daily/Weekly/Monthly toggle)
- Checks streak, badges, mosque info
- Taps "Start Walk" on any prayer β Active Walk page
- Taps "Start Walk" β selects prayer name
- Active Walk tracks in real-time: steps, distance, speed, hasanat, pace
- Sunnah reminder if walking too fast (Bukhari 636)
- Taps "End Walk" β walk saved, badges checked, streak updated, confetti
- Mosque Finder β allows location β sees nearby mosques on map + list
- Taps "Select" β sets as primary β Dashboard updates
- Stats tab β total steps, hasanat, charts, prayer consistency
- Weekly/monthly step charts, prayer-walking correlation
- Notifications β filter by type/status, hover for exact times
- Mark as read/unread, toggle categories
- Settings β theme, units, city/timezone, notifications, per-prayer mosque
- Blogs for SEO articles, Guides for step-by-step tutorials
- Sunnah page for hadith references
src/marketing/IMPROVEMENT_PROMPTS.md β Copy-paste prompts for product, marketing, SEO, tests, and technical improvements. Use with Cursor, ChatGPT, or your dev process.
We welcome contributions! See CONTRIBUTING.md for full guidelines, or the in-app Contribute page for a quick overview and issue links.
- π Report a Bug
- β¨ Request a Feature
- π Report a Missing/Incorrect Mosque
- π Report a Hadith/Content Issue
- β° Report Incorrect Prayer Times
| Reference | Topic | Grade |
|---|---|---|
| Sahih Muslim 666 | Each step erases a sin, raises a degree | Sahih |
| Sunan Abi Dawud 561 | Walking in darkness β perfect light | Sahih |
| Sahih al-Bukhari 636 | Walk with tranquility, don't run | Sahih |
| Sahih Muslim 662 | Farther distance = greater reward | Sahih |
| Sahih Muslim 654 | Congregation prayer 27x better | Sahih |
| Sunan Ibn Majah 1412 | Walking to Quba like Umrah | Hasan |
| API | Purpose | Caching |
|---|---|---|
api.aladhan.com |
Prayer times by coordinates | NetworkFirst (1h) |
overpass-api.de |
Mosque search by location | CacheFirst (24h) |
nominatim.openstreetmap.org |
City geocoding + reverse | CacheFirst (7d) |
tile.openstreetmap.org |
Map tiles | CacheFirst (30d) |
timeapi.io |
Timezone detection by coordinates | CacheFirst (24h) |
ipapi.co / ip-api.com |
IP-based geolocation fallback | CacheFirst (24h) |
router.project-osrm.org |
Walking route directions | Per-request |
npx vitest run # Run all tests
npx vitest run src/test # Run specific directory
npx vitest --watch # Watch mode- JSON-LD structured data (WebApplication, FAQPage, BreadcrumbList, HowTo on guides)
- Open Graph + Twitter Card meta tags
sitemap.xmlandrobots.txt(allows GPTBot, ClaudeBot, PerplexityBot). When adding new blog posts or guides, updatepublic/sitemap.xml: add a<url>with<loc>,<lastmod>YYYY-MM-DD</lastmod>, and optionally<changefreq>/<priority>.llms.txtfor AI engine context (page descriptions and "For AI assistants" section)
- Website: mosquesteps.com
- GitHub: codingshot/mosquesteps
- Built by: ummah.build
- X/Twitter: @ummahbuild
- LinkedIn: ummah-build
Built with faith and open-source technology. Β© 2026 MosqueSteps.
