Product & Build Plan · 2026

Everything a Muslim
needs, in one app.

Quran, authenticated knowledge, worship guidance, and a day that's built around salah — not squeezed around it. This is the plan for how it gets built, in what order, and what to watch out for.

Founder: Dhurim Halili
Stack: Expo · Supabase · NestJS · Astro
Build with: Cursor + Fable 5
Model: Free core app · book marketplace (5%)
Languages: EN · SQ · IT · TR · ES at launch
Status: Planning → phased build
Scroll to read
1 — Vision

Not a prayer-times app. A full deen companion.

Most Islamic apps pick one job: Muslim Pro does prayer times + Quran + Qibla reasonably well across everything at once, which is why it's shallow everywhere. SalahSync's bet is the opposite of "add one clever feature" — it's "own the whole day," and go deep on the one thing nobody has built: a day that actively reorganizes itself around the five prayers. Everything else — Quran, knowledge, worship guidance, community — has to be genuinely excellent too, because it's what people will open the app for every single day, while the day-fitting engine is what makes them keep it.

The six pillars of the product
Quran · Qibla · Knowledge · Worship · Time · Community
Six modules, each of which is its own small app in scope. The section below breaks all six down individually — read that first as a map before the detail sections.
The differentiator
The day fits the prayer, not the reverse
Every other app tells you when Dhuhr is. None calculate whether you can actually make it from your 12:00 meeting, how long the drive plus wudu plus parking takes, and when you need to leave. That's the feature no one has shipped.
100% Free core app · No subscriptions · No ads on worship content · Lectures always free · Authors can sell books in-app (5% platform fee)

A note on scope, said plainly: this plan covers roughly five to six apps' worth of surface area — a Quran app, a knowledge/library app, a habit tracker, a scheduling engine, and a moderated social network — under one roof. That's not a reason to shrink the vision, but it is the reason the Roadmap and Struggles sections exist: this cannot be built all at once by one person without a sequence and without help on the religious side.

2 — Feature Map

The six modules at a glance

Every detail section below expands one of these. Use this as the table of contents for the product itself, not just the document.

Quran
Full mushaf, dozens of reciters, verified translations, tafsir, memorization tools, offline reading.
Qibla
Highest-precision direction finder — great-circle bearing, AR overlay, offline fallback.
Knowledge
Authentic hadith collections, fiqh by madhab, aqeedah, books, and vetted lectures.
Worship
Pillars, iman, wudu, salah, halal/haram, duas, seerah — the practical how-to of being Muslim.
Time
Prayer times, reminders, widgets, and the flagship Salah-Fit Day scheduling engine.
Community
Habits and dhikr, plus a strictly gender-segregated, moderated chat and group system.
3 — Quran & Recitation

The mushaf, many voices, one verified text

The Arabic text itself is never something to re-key by hand — pull it from an established, already-verified source and treat it as immutable. The same discipline applies to translations: only ship translations that already exist and are attributed to a named, credentialed translator.

Text & data source
Quran Foundation Content API
The team behind quran.com publishes a content API (api.quran.foundation) with Uthmani and Indopak script, word-by-word morphology, tajweed coloring data, and multiple verified translations and tafsir sets already licensed and attributed. Al Quran Cloud is a solid open alternative for a lighter integration.
Recitation
Dozens of reciters, downloadable per surah
The same API exposes chapter-by-chapter audio for reciters like Abdul Basit, Mishary Alafasy, Sudais, Al-Ghamdi, and many more, via the QuranicAudio CDN. Let users pick a default reciter and cache surahs for offline listening — important for rural Kosovo and diaspora users on limited data plans.
Translations to ship at launch
English + Albanian, verified
Saheeh International and Dr. Mustafa Khattab's "The Clear Quran" are widely trusted English translations already available through these APIs. For Albanian, Sherif Ahmeti's translation is the standard reference — confirm licensing terms directly with the rights holder before shipping it, even if a copy is freely available online.
Beyond reading
Memorization mode, Khatm tracker, bookmarks
A verse-repeat loop with adjustable repetitions for hifz, a "finish the Quran by Ramadan" progress bar that plugs into the Habits module, tajweed color overlays, and juz/page bookmarking.
Rule of thumb: never machine-translate Quranic or hadith text yourself, even as a stopgap. If a language isn't covered by an existing vetted translation, leave it untranslated with a note, rather than shipping something unverified.
4 — Qibla Finder

Precision, not just a spinning arrow

"Best technology possible" means going past the simple compass-plus-GPS approach most apps use, which is usually good enough but drifts and can mislead indoors.

The correct math
Great-circle bearing, not a straight line on a flat map
The Kaaba sits at roughly 21.4225°N, 39.8262°E. Over long distances (Kosovo to Makkah, or further for diaspora users in North America), a simple rhumb line gives a meaningfully wrong angle. Calculate a true great-circle initial bearing from the user's GPS coordinates instead.
Sensor handling
Magnetometer + true-north correction + calibration prompts
Combine the device compass with magnetic declination correction for true north, and prompt a figure-eight calibration gesture when sensor variance looks unreliable — most "Qibla is wrong" complaints on other apps trace back to an uncalibrated magnetometer, not bad math.
Confidence layer
Optional AR camera overlay
An ARKit/ARCore camera view showing the Qibla line overlaid on the real room gives users visual confidence indoors, where compasses are least reliable near metal and electronics.
Fallback
Works without a magnetometer, and offline
On devices without a reliable compass, show the bearing as a plain number plus a simple "walk this way while your GPS heading updates" mode. Cache the last computed direction for a given location so it still works with no signal.
5 — Knowledge Library

Hadith, fiqh, aqeedah, books — sourced, never authored

This is the module where a wrong step matters most religiously, not just as a product bug. The operating rule throughout: SalahSync curates and surfaces already-published, credentialed Islamic scholarship — it does not generate, translate, or grade anything itself.

Hadith
The six major collections, fully attributed
Sahih al-Bukhari, Sahih Muslim, Sunan Abu Dawood, Jami' at-Tirmidhi, Sunan an-Nasa'i, Sunan Ibn Majah, plus Muwatta Malik, Riyadh as-Saliheen, and the 40 Hadith of an-Nawawi. sunnah.com publishes an API (key on request) and open data dumps with existing English translations and authenticity grading already attached — ingest that once into your own database rather than live-querying a third party at runtime, and always display the grading (sahih / hasan / da'if) and translator alongside the text.
Fiqh
Organized by madhab, clearly labeled
Given the Balkan context, Hanafi fiqh is the natural default emphasis, but label every ruling by school (Hanafi, Shafi'i, Maliki, Hanbali) rather than presenting one school's view as "the" Islamic view. This mirrors the mosque-type labeling used elsewhere in the app — see the Salah-Fit Day section.
Aqeedah & Seerah
Core belief and the Prophet's life, filtered for authenticity
Seerah content and Prophet stories are a common place where unverified or Isra'iliyyat (unauthenticated Israelite-tradition narrations) material creeps in. Draw from established works like Ar-Raheeq Al-Makhtum and Ibn Kathir's Stories of the Prophets rather than paraphrased retellings from unclear origin.
Books & lectures
Free lectures · paid books marketplace
All verified lectures remain free forever. Authors and publishers can list Islamic books as in-app PDFs — readable online, shareable where licensing allows, with a 5% platform fee on sales. Rights and DRM confirmed with each publisher before listing; hadith and Quran texts stay free and separately licensed.
You are the engineer here, not the mufti. Every hadith grading, fiqh attribution, and aqeedah statement in this module should be checked by someone with real qualification before launch — see Content Sourcing & Governance.
6 — Worship & Daily Life

The practical how-to of being Muslim

This is the module a new Muslim or a curious teenager opens first. It should read like a calm, well-organized teacher, not a wall of text.

Foundations
Five pillars, six pillars of iman, knowing Allah and the Messenger ﷺ
Short, clear explainer content for each pillar, cross-linked to relevant Quran verses and hadith already in the Knowledge module rather than duplicating text.
Practice
Wudu, ghusl, tayammum, salah — step by step
Illustrated or short-video step-by-step guides, with madhab-specific variations toggled rather than hidden, and clear notes on what invalidates wudu.
Living it out
Halal & haram encyclopedia
Food, finance, entertainment, daily-life questions, sourced from established fatwa bodies rather than a single unnamed opinion — matches the halal-compliance instincts already applied on VendorStore's payment side.
Reflection
Duas by occasion, stories of the Prophets
Duas organized by moment (waking, eating, travel, distress, gratitude) rather than one long list, and Prophet stories drawn only from authenticated tafsir and seerah sources, never invented narrative detail.
Worth adding beyond the original list: a gentle, guided first-30-days path for new Muslims and reverts — different tone, a glossary of Arabic terms used elsewhere in the app, and no assumption of prior knowledge.
7 — Prayer Times & Notifications

Accurate everywhere, loud only when wanted

Prayer time accuracy is the one bug that would break trust in the entire app instantly, so calculation method choice needs to be explicit and user-controlled, not a silent default.

Calculation methodFajr angleIsha ruleTypically used in
Muslim World League18°17°Europe — sensible default for Balkan/EU users
Umm al-Qura (Makkah)18.5°90 min after MaghribSaudi Arabia
Egyptian General Authority19.5°17.5°Egypt, parts of Africa & the Levant
Univ. of Islamic Sciences, Karachi18°18°Pakistan, Afghanistan, Bangladesh, India
Jafari / Shia Ithna-Ashari16°14° (Maghrib delayed)Shia communities worldwide
Juristic detail that actually matters
Hanafi vs Shafi'i Asr
Hanafi fiqh uses a shadow-length factor of 2 for Asr (later start); Shafi'i, Maliki, and Hanbali use a factor of 1. Given the Balkans are majority Hanafi, default to it but keep the toggle visible, not buried in settings.
High-latitude edge case
Northern Europe diaspora, summer
Fajr/Isha angles produce no valid sun position in far-northern summers. Support the standard high-latitude adjustment rules (angle-based, middle-of-night, one-seventh-of-night) for diaspora users in Germany, the UK, and Scandinavia.
Location
GPS by default, manual city search always available
Reverse-geocode GPS to city automatically, but let users search and pin any city/country directly — essential for travel and for setting a home city while physically elsewhere.
Notification style, chosen per prayer
Full adhan audio (reciter choice) · a single soft tone · a repeating single tone · vibration-only pattern · spoken voice ("It is time for Fajr"). A pre-time warning (e.g. 15 minutes before) is a separate, optional notification from the at-time one.
Friday needs its own logic: Dhuhr notification content should shift to a Jummah/khutbah-start reminder rather than a generic Dhuhr alert.
8 — Daily Reminders & Widgets

Something worth checking for, every day

The goal stated plainly: content people actually look forward to, not another notification they swipe away.

Calendar-aware content
Different message, different day
Friday: Surah al-Kahf reminder, ghusl prompt, salawat encouragement, and a nudge before Maghrib for the last-hour dua acceptance window. Islamic calendar-aware pushes for Ramadan, the White Days (Ayyam al-Bid), Ashura, and the Day of Arafah, pulled from the Hijri calendar automatically rather than manually scheduled each year.
Rotating content
Duas, hadith, and short reflections
A simple rotation pool of verified short content (never invented), varied enough that daily notifications don't feel repetitive within a season.
Home screen widgets
Countdown, verse-of-the-hour, Hijri date, streak
A next-prayer countdown widget, a random-verse widget that rotates hourly, a Hijri date widget, and a habit-streak widget — all lightweight, native platform widgets rather than in-app-only content.
Worth adding
iOS Live Activity for next-prayer countdown
A lock-screen live countdown to the next prayer (the same mechanism sports apps use for live scores) would be a genuinely distinctive, low-effort-to-build feature once the core notification scheduling exists.
9 — Lectures & Scholars

Local voices first, verified before they publish

The local-discovery idea — a Kosovo user sees Kosovo imams first — is one of the strongest ideas in the whole plan; it's the thing large incumbents like Muslim Pro have no reason to build well.

Discovery
Local-first, with a global tab
Default view filtered to the user's country and city; a separate global/browse tab for well-known international scholars. Categorize by topic and level (new Muslim, general, advanced).
Verification pipeline
Applications reviewed by a panel, not by you alone
A lecturer applies with credentials — ijazah, mosque affiliation, referral from a known institution. Approval should sit with a small advisory panel of local ulama, not with engineering judgment alone; see Governance.
Reporting
Flag content, pause pending review
Any user can flag a lecture or comment ("factually wrong," "inappropriate," "off-topic"). Flagged content pauses visibility until the advisory panel reviews it — this keeps a non-scholar founder from having to personally adjudicate theological disputes.
Gender separation
Male lecturers to male accounts, female to female
Enforced server-side against the account's gender field, not just hidden in the UI — a client-side-only filter is trivially bypassed and would undermine the entire point of the rule.
Worth adding: a supplementary Friday khutbah audio stream for people who genuinely cannot attend (illness, elderly, remote areas) — framed clearly as a supplement, never a substitute for attending in person.
10 — The Salah-Fit Day (Flagship Feature)

The day is built around the prayer, in real time

This is the feature that justifies the whole product. Broken down into its actual calculation chain:

Dhuhr enters at 13:02
→ user's calendar shows a meeting in Ferizaj until 12:30
→ nearest suitable mosque from that meeting's location: 0.9 km
→ drive time (live traffic): 4 min · possible-traffic buffer if no live data: +2–3 min
→ park + walk in: 2 min (0 min if travel mode is "on foot")
→ wudu: 3 min (skippable with an "I already have wudu" toggle)
Leave the meeting by 12:51 to make jama'ah comfortably before Dhuhr's window closes
Inputs required
Calendar, location, transport mode, mosque database
Native calendar sync (or manual entry) for where the user will be at each prayer time, real-time or possible-traffic-adjusted routing, and a maintained mosque/musalla database with coordinates.
The number that actually matters
Iqama time, not just adhan time
Most mosques have a gap between the adhan and the iqama (congregation start). "Can I make it" should be measured against iqama time where known, falling back to adhan time plus a standard buffer where it isn't.
Conflict handling
Options, not automatic decisions
If a meeting fully overlaps a prayer window, surface options — shorten the meeting, use a flagged "prayer-friendly" nearby space, or note that combining prayers while traveling is a fiqh matter for the user to decide, not something the app rules on for them.
Data backbone
Mosque type tagging, carried over and expanded
Tag every mosque by tradition/affiliation and by facility type so routing and filtering both work — see the reference set below.
Sisters-friendly
Has a dedicated, comfortable prayer space for women, community-verified rather than self-claimed.
Musalla / Prayer room
A small prayer space in an airport, mall, university, or workplace — not a full mosque, critical for commuters.
Islamic Center
Full facility — prayer hall, classes, events, often halal food nearby.
Cultural / Ethnic
Albanian, Turkish, Bosnian, Arab, South Asian, and other community-specific mosques where language matters.
Ideas worth adding to this feature specifically: a full visual day-timeline showing meetings and all five prayer blocks together each morning, not just reactive alerts; a "leave now" deep link into whatever ride-hailing app is locally used; auto-selected travel mode based on distance; and offline caching of known mosque and travel-time patterns for when data is unavailable.
11 — Goals, Dhikr & Routines

The app remembers so you don't have to

The key idea here — reminding people to catch morning and evening adhkar before the window closes — only works if the app understands Islamic time windows, not clock time.

Goals
Free-text goal, target, deadline
Simple creation — dhikr counts, a sadaqah intention, "help someone this week" — with a done/not-done state and streaks, no rigid template required.
Windows tied to prayer times, not the clock
"Morning adhkar" = after Fajr until sunrise; "evening adhkar" = after Asr until Maghrib. The app already knows these boundaries from the Prayer Times module, so a user sets a dhikr goal once and the reminder windows follow automatically, with one follow-up nudge before a window closes if it isn't marked done.
Custom dhikr & routines
Build a named, repeating sequence
e.g. an "After Fajr" routine chaining a Quran page, a set of adhkar, and a short gratitude prompt — set once, repeats on schedule.
Worth adding
Tasbih counter, sadaqah log, weekly check-in
A simple tap-counter widget for preset adhkar (SubhanAllah ×33 etc.), a private sadaqah tracker (no amount required, just a checkbox), and an optional weekly reflection prompt.
12 — Chat & Community

The highest-risk feature in the whole plan

Said directly: this is the one module worth building last, and the one where the described rules need to be enforced by the server, not just hinted at in the interface. Founder decision: chat ships after core modules — announced as "coming later" at launch so users aren't surprised.

The hard rule
No cross-gender contact, anywhere, including profiles
Gender is set at signup and used to server-side filter every visible profile, lecture, group, and chat request — enforced in the API layer (database row-level security), never left to client-side hiding, which a determined user could bypass by calling the API directly.
Discovery, not search
Only through lectures and groups
No open browsing or searching for individual users. People become discoverable to each other only via admin-run groups (study circles, general chat, local city groups) or moderated Q&A on same-gender-visible lectures.
Friend system
Unique code, request-based, same-gender enforced server-side
No username search. A friend request requires the other person's code and mutual acceptance, and the gender match is checked at the API before a request can even be created.
Moderation
Report button everywhere, human review queue
Automated keyword/image filtering as a first pass is useful but not sufficient on its own — a human review queue is necessary given the stakes, and group admins should be separately verifiable.
ID verification for chat is a serious commitment, not a checkbox. It means choosing a real KYC vendor (Sumsub, Veriff, Onfido — not something to build in-house), thinking through GDPR-style data retention obligations since diaspora users are EU-based, and deciding explicitly how under-18 accounts are handled. Founder decision: 16+ for chat if app-store policy allows; otherwise 18+ — confirm with legal review before Phase 5. The safest path for EU users is still 18+ with verified age, because GDPR treats under-16 data much more strictly. Get this reviewed by someone with actual legal and app-store-policy familiarity before writing a line of chat code; both Apple's and Google's store policies scrutinize apps that enable stranger contact heavily, and get stricter still around anything a reviewer could read as minors messaging.
13 — Content Sourcing & Governance

You're the engineer. You need a scholar too.

This section applies across every module above — it's the single load-bearing principle of the whole app's trustworthiness.

The core rule
Curate, attribute, never author
Every hadith shows its grading and translator. Every fiqh ruling shows its madhab. Every halal/haram answer names its source. Nothing presented as authoritative should originate from the app itself or from an AI system.
Who checks it
Advisory panel confirmed — in progress
Founder has access to a qualified imam/scholar in Kosovo for review before launch and ongoing spot-checks — hadith grading, lecturer approval, flagged content, and the madhab positioning question below. Formalize this as a written advisory agreement before Phase 2 (Knowledge) starts.
Licensing
Confirm rights before shipping, not after
Translations like Sherif Ahmeti's Albanian Quran, Darussalam hadith translations, and any full books need their licensing terms confirmed directly with rights holders — "freely available online" is not the same as "licensed for redistribution in an app."
Positioning
Madhab stance — not decided yet
Founder has not locked a default madhab yet. Interim plan: stay madhab-neutral in UI copy, show the school on every fiqh ruling, and let the advisory panel recommend whether to default to Hanafi (Balkan majority) or stay neutral at onboarding. Do not ship madhab-specific defaults until the scholar signs off.
14 — Chosen Build Stack

Best stack for performance, security, design — built with Cursor & Fable 5

Picked for what ships fastest with AI-assisted development while still hitting native app quality on both stores. TypeScript end-to-end, offline-first mobile, Postgres security rules in the database, and a static marketing site that loads instantly.

Expo React Native TypeScript Supabase NestJS PostgreSQL + PostGIS Cloudflare R2 Astro EAS Build Figma Cursor + Fable 5
LayerToolWhy this one
Mobile app (iOS + Android)Expo (React Native) + TypeScriptOne codebase for both stores; Fable 5 generates RN/TS reliably; EAS handles App Store & Play builds; New Architecture for near-native performance
Navigation & UIexpo-router + custom themeFile-based routes; emerald/gold design system in code — not generic Material; RTL-ready for Arabic Quran
Design source of truthFigmaDesign system before code: prayer card, Quran reader, Qibla compass, tabs — then implement screen-by-screen in Cursor
Prayer timesadhan (on-device)Calculated locally — works offline, no API at alarm time; MWL default for Europe
Qiblaexpo-location + expo-sensorsGPS + magnetometer; great-circle bearing math in TypeScript
Notificationsexpo-notificationsPre-schedule 7 days of local adhan alerts — required because iOS limits background push for exact prayer times
Offline storageexpo-sqliteCache Quran text, translations, downloaded surah audio, prayer settings on device
Languages (launch)react-i18next + expo-localizationEnglish, Albanian, Italian, Turkish, Spanish UI strings; sacred text only from licensed sources per locale
Quran contentQuran Foundation APIVerified Arabic, translations, tafsir, reciter audio — cache to SQLite + Supabase Storage
Hadithsunnah.com dump → SupabaseIngest once into Postgres; never scrape live in production
Database & authSupabase (Postgres + PostGIS)Auth (Apple/Google/email), Row Level Security for chat rules later, realtime when needed, file storage
Heavy backend logicNestJS on Railway or Fly.ioStripe Connect webhooks, Google Routes proxy, background jobs — added Phase 2+; Supabase alone for Phase 0–1
Media & PDFsCloudflare R2 + CDNQuran audio, lecture video, marketplace PDFs — cheap egress, fast globally
Maps & mosques (Phase 3)Google Places + Routes APIMosque discovery via Maps; travel-time for Salah-Fit Day; store coords in PostGIS
Book payments (Phase 2)Stripe ConnectAuthors sell PDFs; 5% platform fee; never handle card numbers in the app
Chat age check (Phase 5)Sumsub or VeriffID verification before chat unlocks; 18+ enforced server-side
Marketing websiteAstro on Cloudflare PagesSEO landing page at salahsync.com — App Store & Play download buttons, privacy policy, screenshots
Store submissionEAS Build + EAS SubmitCloud builds for iOS & Android from Windows/Mac; TestFlight + internal testing track
DevelopmentCursor + Fable 5One screen or API per session; this plan site as living spec; test on real phone after every change
Source controlGitHub (private repo)Separate repos: salahsync-app, salahsync-api, salahsync-web
Accounts to open first
Before writing code
Apple Developer ($99/yr) · Google Play ($25 once) · Supabase (free) · Cloudflare (free) · GitHub · Expo (free) · Domain e.g. salahsync.com (~$15/yr) · Google Cloud (Maps, Phase 3) · Stripe (Phase 2)
How to work with Fable 5
One piece at a time
Never ask for the whole app. Pattern: pick a plan section → paste into Cursor → implement one screen → run npx expo start on a real phone → commit. Fable is strongest on TypeScript/React Native, which is why this stack beats Flutter for AI-assisted solo build.
Offline rule: prayer times and Qibla never depend on network. Quran Arabic + one translation cached by default. Audio and books download on demand with a clear button. Security rule: gender chat rules and age gates live in Postgres Row Level Security — not hidden UI.
15 — Build Roadmap

Step-by-step from zero to App Store, Play Store & website

Built with Expo + Supabase + NestJS + Astro in Cursor with Fable 5. First public launch = end of Phase 0 (real app in both stores + marketing site). Chat is last. Block ~15–20 hrs/week or timelines slip.

~4 mo
Phase 0 → store launch
~$400
Year 1 minimum cost
3 repos
app · api · web
Week 0 — Setup
Accounts, repos, design, scholar kickoff
Apple Developer + Google Play + Supabase + Cloudflare + Expo + domain live. Private GitHub repos created. Figma wireframes for Home, Prayer, Qibla, Quran, Settings. Scholar meeting scheduled for madhab question before Phase 2.
Tools: developer.apple.com · play.google.com/console · supabase.com · cloudflare.com · expo.dev · figma.com · cursor.com (Fable 5)
Phase 0 · Weeks 1–8
App shell, prayer times, Qibla, i18n
Expo app with emerald/gold theme, 5-language UI, tab navigation. Prayer times on-device (adhan), GPS + city search, Hanafi/Shafi'i Asr toggle, local notifications per prayer. Qibla compass with calibration hint. All works offline.
Tools: Expo · expo-router · adhan · expo-location · expo-sensors · expo-notifications · react-i18next · expo-sqlite · Cursor + Fable 5
Phase 0 · Weeks 9–14
Quran reader + audio, Supabase auth
Surah list, ayah view, Arabic Uthmani + English translation (Albanian when licensed). Reciter audio with download-for-offline. Bookmarks. Optional sign-in (Apple/Google) syncs bookmarks via Supabase.
Tools: Quran Foundation API · expo-sqlite · Supabase Auth · Supabase Storage · Cursor + Fable 5
Phase 0 · Weeks 15–16
Store launch + marketing website
v1.0 in App Store & Google Play. Astro landing page on Cloudflare (salahsync.com) with download badges, screenshots, privacy policy. TestFlight + Play internal testing done. Listing says chat is coming later.
Tools: EAS Build · EAS Submit · Astro · Cloudflare Pages · Cursor + Fable 5
Compare prayer times with Muslim Pro for Pristina, Tirana, Rome before submitting — accuracy is trust.
Phase 1 · Months 5–7
Daily practice — worship, dhikr, habits, widgets
Worship & Daily Life content (CMS in Supabase). Duas by occasion. Tasbih counter. Goals tied to prayer-time windows. Home screen widgets (iOS + Android). Ramadan mode toggle. Builds daily-open habit.
Tools: Supabase (content tables) · expo-notifications · native widget modules · Cursor + Fable 5
Phase 2 · Months 8–11
Knowledge — hadith, fiqh, book marketplace, lecturers
Hadith collections ingested from sunnah.com into Supabase — scholar sign-off before publish. Fiqh by madhab, clearly labeled. Stripe Connect bookstore: authors sell PDFs (5% fee), in-app reader. 5–10 hand-invited lecturers, all free. NestJS API goes live for payments.
Tools: Supabase Postgres · NestJS · Stripe Connect · Cloudflare R2 · PDF reader component · scholar advisory · Cursor + Fable 5
Advisory panel must be formalized before this phase starts — not after.
Phase 3 · Months 12–17
Salah-Fit Day — calendar, mosques, travel time
Google Calendar read permission. Mosque database in PostGIS (Google Places + manual Kosovo seed). Google Routes for drive/walk time. "Leave by X" alerts. Friday Jummah logic. Visual day timeline. Hardest engineering — own phase, no rushing.
Tools: Google Places API · Google Routes API · PostGIS · NestJS · expo-calendar · Cursor + Fable 5
Phase 4 · Months 18–21
Open lecturer platform
Self-serve scholar applications, verification workflow, user flagging, advisory panel review queue. Scales Knowledge beyond what one founder can curate. Lectures remain free.
Tools: Supabase · NestJS admin · Cloudflare R2 (video) · Cursor + Fable 5
Phase 5 · Months 22+
Community chat (last — after legal review)
Gender-segregated chat enforced in Postgres RLS. Friend codes, groups, moderation queue. ID verification (Sumsub/Veriff). 18+ only for chat. Announced as future feature until this ships.
Tools: Supabase Realtime · Postgres RLS · Sumsub or Veriff · NestJS · legal review · Cursor + Fable 5
Do not write chat code until a lawyer reviews GDPR + app-store stranger-contact policies.
Year 1 cost estimate
Lean launch (Phase 0 only)
Apple $99 · Google $25 · domain ~$15 · Supabase free · Cloudflare free · Expo free · Cursor ~$20/mo → ~$400–700 total. Infrastructure stays near $0 until users grow.
At scale (~5k users)
Phase 2–3 running costs
Supabase Pro ~$25/mo · NestJS hosting ~$15/mo · Google Maps/Routes ~$20–100/mo · R2 storage ~$10–50/mo. Book sales (5% fee) should cover infra if marketplace gets traction.
16 — What You'll Struggle With

Said honestly, not softened

Every one of these is solvable. None of them are solved by writing more code faster.

High
Scope, for a solo developer already running three other ventures
VendorStore, MimiBridge, and PunaPrime are all active. This plan alone is five or six apps in scope. Realistically decide whether SalahSync gets a dedicated block of time, a collaborator, or a much longer timeline — trying to run all four ventures at full intensity simultaneously is the fastest way to stall all of them.
High
Religious liability sits with you personally
Users will treat what the app labels "authentic" as authoritative. Without a scholar's sign-off in writing, mistakes in hadith grading, fiqh attribution, or halal/haram content are your personal responsibility, not just a product bug.
High
Chat safety and legal exposure
Gender-segregated chat with ID verification and any users under 18 touches data-protection law, child-safety expectations, and app-store policy all at once. This is the module most likely to get the app rejected or to create real legal exposure if rushed.
Medium
Content licensing
Translations and hadith collections that are freely readable online aren't automatically cleared for redistribution inside an app. Confirm terms with rights holders before launch, not after a user or publisher raises it.
Medium
Infrastructure cost at scale
Routing/traffic APIs, KYC checks, and audio CDN bandwidth all cost real money as users grow, even with a fully free-to-user model. Plan for this early rather than discovering it at 10,000 users.
Low
App store scrutiny on sensitive labeling
Sunni/Shia mosque and fiqh labeling is handled well by treating it as factual, self-reported, and equally displayed — the approach already planned — but it's worth a quick review of both stores' religious-content policies before submission.
17 — Founder Decisions

Locked answers — July 2026

These decisions guide the build. Items marked TBD will be resolved with the advisory panel before the relevant phase ships.

Madhab positioning
Default to Hanafi given the Balkan majority, with other schools available — or stay fully madhab-neutral from day one?
Decision: Not decided yet. Stay neutral in the UI until the Kosovo advisory scholar recommends a default.
Recommendation: let the scholar choose before Phase 2. Until then, label every fiqh answer by school and never imply one view is universal.
Chat, in v1 or later?
Given the risk profile, is it worth explicitly announcing chat as a "coming later" feature so early users don't expect it at launch?
Decision: Chat later — not in v1. Announce it clearly on the store listing and in-app as a future module.
Recommendation: this is the right call. Chat is Phase 5 for a reason — legal, moderation, and app-store risk are all highest here.
Under-18 accounts
Blocked from chat entirely (the safer default), or handled some other way?
Decision: 16+ for chat if app stores allow it; otherwise 18+. Under that age: full app access except chat and friend requests.
Recommendation: plan for 18+ at implementation time. Apple and Google don't publish a simple "16+ chat OK" rule — they evaluate stranger-contact risk case by case. EU GDPR also treats under-16 accounts differently. Blocking chat under 18 is still the path of least rejection risk.
Scholarly advisory
Is there an imam or qualified scholar in Kosovo you can already approach, even for a few hours a month?
Decision: Yes — scholar access confirmed. Formalize advisory role before Phase 2.
Recommendation: get a simple written agreement: what they review, how often, and that final religious judgments are theirs, not the app's.
Launch languages
Which languages ship at v1?
Decision: English is the base UI language. Architecture supports all languages long-term. Launch locales: English, Albanian, Italian, Turkish, and Spanish.
Recommendation: translate the app shell and onboarding first; religious content (Quran translations, hadith) only where verified translations already exist for that language — don't machine-translate sacred text to hit a locale deadline.
Offline-first — how should content work without internet?
Should users download surahs, books, and other content — or should everything stream? What balance is best for performance and ease of use?
Decision (resolved for build): Hybrid model — prayer times & Qibla on-device (adhan + expo-sensors); Quran cached in expo-sqlite; audio and books download on demand.
This is the industry-standard approach (same pattern as Quran.com and Muslim Pro). Users on bad Kosovo rural signal get reliability; users on Wi-Fi aren't forced to fill storage day one.
Positioning against Muslim Pro / Athan Pro
Full replacement, or complement? Can SalahSync reuse those apps via API?
Decision: Build SalahSync completely as one app — full replacement ambition. Use open APIs and licensed data sources (Aladhan, Quran Foundation, sunnah.com) for the same underlying data; do not require users to install Muslim Pro or Athan.
Recommendation: Muslim Pro and Athan do not offer a public embed API — you cannot legally "plug them in." You rebuild the features natively using the same open sources most Islamic apps use. That is the correct one-app strategy.
Monetization
Donation-only forever, or other revenue?
Decision: Core app and all lectures free forever. Authors can sell books as in-app PDFs (read online, share/send where rights allow). SalahSync takes 5% of book sales. No paid lectures.
Recommendation: use Stripe Connect for payouts; require publishers to confirm PDF rights before listing; add optional sadaqah/donation button separately — don't mix worship content with checkout flows in the same screen.
18 — Additional Suggestions

A few things not on the original list

Each of these fits naturally into a module already planned above, rather than requiring new infrastructure.

High value, low build cost
Zakat calculator
Nisab-aware, covering gold, silver, cash, and business assets — a near-universal annual need that fits neatly into the Worship module.
Ties into reminders already planned
Hijri calendar & key-date reminders
Ramadan, Eid, Ashura, Arafah, Isra wal Mi'raj — feeds directly into the Daily Reminders engine.
Ramadan mode
Suhoor/iftar countdowns, a taraweeh tracker, and a Laylatul Qadr checklist for the last ten nights — distinct notification set from the rest of the year.
Hajj / Umrah companion
Step-by-step rites and dua per stage, for the smaller but high-intent group of users actively traveling.
New-Muslim onboarding path
A guided, softer-tone first-30-days curriculum distinct from the general Worship content, mentioned earlier — reinforced here as worth building deliberately rather than assuming one-size-fits-all content works for converts.
Accessibility
Full text-to-speech for Quran, hadith, and duas, plus a large-text mode — meaningful for elderly users and anyone with visual impairment.
Public mosque directory
A browsable map of the same mosque database that powers Salah-Fit Day routing, useful on its own even to users who never set up calendar sync.
Public-transit-aware routing
Beyond driving and walking, factor in transit timetables for diaspora users in cities like Berlin, Zurich, or London where it's genuinely the fastest option.
New — from founder decisions
Islamic book storefront
Curated marketplace for publisher-licensed PDFs with in-app reading, gifting/sharing where rights allow, and Stripe Connect payouts — 5% platform fee, separate from free lecture library.
New — diaspora fit
Multi-language onboarding
First-run flow in EN / SQ / IT / TR / ES that sets prayer method, language, and home city — critical for Kosovo diaspora in Italy, Spain, and Germany.
New — trust
"Sources" tab on every ruling
One tap to see hadith reference, translator, madhab, and advisory review date — makes the scholar-backed model visible, not hidden.
New — Salah-Fit
"Can I make Jummah?" mode
Friday-specific logic: khutbah start time, work-meeting overlap, and nearest mosque with sisters' space flagged — extends the flagship engine beyond weekday Dhuhr.
New — retention
Ramadan annual spike kit
Pre-built Ramadan mode (suhoor/iftar, taraweeh tracker, Laylatul Qadr checklist) ready to toggle on before the month — biggest acquisition window for Islamic apps every year.
19 — Ideas & Notes

Your living idea log

Add ideas as you read the plan. Everything saves here automatically — share this one link with your scholar so they can read the full project and your notes without a PDF or file.

0 / 4000

Saved to your private project log on Cloudflare. Visible below and on any device when you open this link.

Saved ideas
Newest first — refreshes when you save
Loading ideas…