Your daily companion for Quran, remembrance, and prayer
An Arabic-first Islamic mobile app for Quran, Hadith, Adhkar, Tasbih, Qibla, and prayer times.
Free Β· Open Source Β· No Ads Β· No Accounts Β· Privacy First
Sakinah (Ψ³ΩΩΩΨ©) is a free, Arabic-first Islamic mobile application designed to bring essential daily worship tools into one calm and simple experience.
The app focuses on:
- π Quran
- π Prayer times
- π§ Qibla
- πΏ Adhkar & Tasbih
- π£οΈ Hadith
- β Favorites
- π― Daily Wird
- βοΈ Personal settings
The interface is designed RTL-first and optimized primarily for Arabic users.
Sakinah is being developed as a Sadaqah Jariyah (Ψ΅Ψ―ΩΨ© Ψ¬Ψ§Ψ±ΩΨ©) project, with no commercial purpose, no advertisements, and no user accounts.
- Complete Quran β all 114 Surahs
- Browse by Surah
- Browse by Juz
- Verse-level Tafsir
- Mishary Alafasy recitation
- Reciter selection
- Adjustable Quran font size
- Verse favorites/bookmarks
- Automatic reading-position tracking
- "Continue Reading" on the home screen
- Offline Quran reading after downloading the required content
- Five daily prayer times
- Location-based calculation
- Hijri date
- Gregorian date
- Next-prayer countdown
- Prayer notifications
- Adhan notification support
- Cached prayer times for offline fallback
- Clear indication when displayed times come from cached data
- Live Qibla direction
- Device location
- Magnetic heading sensor
- Real-time compass updates
- Designed for use while traveling
- Morning and evening remembrance
- Dhikr text and repetitions
- Source information where available
- Simple Tasbih counter
- Custom dhikr phrases
- Local counter history
- Haptic feedback
- Works without an internet connection
Browse a collection of major Hadith books, including:
- Sahih al-Bukhari
- Sahih Muslim
- Sunan Abi Dawud
- Jami' al-Tirmidhi
- Sunan al-Nasa'i
- Sunan Ibn Majah
- Musnad Ahmad
- Muwatta Malik
- Sunan al-Darimi
Additional features:
- Browse by book
- Browse by category/topic
- Hadith search
- Hadith source information
- Save Hadith to favorites
- Previously loaded Hadith can remain available offline
Hadith grading is displayed only when a reliable source provides grading information. The app does not invent or infer grades.
A unified place for saved content:
- Quran verses
- Hadiths
- Other supported saved items
Everything is stored locally on the device.
Set a personal Quran reading goal and track your progress.
Possible goals include:
- Pages per day
- Juz per day
- Daily progress
- Reading streak
The goal is to encourage consistency without turning worship into a competition.
- Light / Dark / System theme
- Quran font-size control
- Reciter selection
- Prayer notification settings
- Adhan settings
- Local data management
- Personal reading preferences
Sakinah is designed to remain useful even when the internet is unavailable.
| Feature | Offline behavior |
|---|---|
| π Quran | Available offline after local data is downloaded |
| π£οΈ Hadith | Previously loaded content remains available |
| β Favorites | Stored locally |
| π― Wird | Stored locally |
| πΏ Tasbih | Fully offline |
| π€² Adhkar | Fully offline |
| π Prayer Times | Uses the latest available cached times |
| π§ Qibla | Uses the device's location and sensors |
The app does not require an account or cloud synchronization for personal data.
Sakinah follows a local-first architecture with a clear separation between UI, data fetching, and local persistence.
ββββββββββββββββββββββββββββββββ
β React Native β
β Expo Router β
ββββββββββββββββ¬ββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββ
β UI / Screens β
β Quran Β· Hadith Β· Prayer β
β Qibla Β· Adhkar Β· Settings β
ββββββββββββββββ¬ββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββ
β TanStack Query β
β Fetching Β· Caching β
ββββββββββββββββ¬ββββββββββββββββ
β
βββββββββ΄βββββββββ
βΌ βΌ
ββββββββββββββββ βββββββββββββββββ
β Remote APIs β β Local Storage β
β Quran β β SQLite β
β Hadith β β AsyncStorage β
β Prayer β β β
ββββββββββββββββ βββββββββββββββββ
External APIs are accessed through a shared HTTP layer responsible for:
- Request handling
- Timeout management
- Error normalization
- Network error detection
- In-flight request deduplication
- JSON parsing
This keeps provider-specific logic inside files such as:
lib/api/
βββ http.ts
βββ quran.ts
βββ hadith.ts
βββ adhkar.ts
βββ prayer.ts
| Layer | Technology |
|---|---|
| Mobile | React Native + Expo |
| Navigation | Expo Router |
| Language | TypeScript |
| Data fetching | TanStack Query |
| Local database | SQLite |
| Local preferences | AsyncStorage |
| Notifications | Expo Notifications |
| Location | Expo Location |
| Sensors | Expo Sensors |
| Builds | EAS Build |
Sakinah uses external services and publicly available datasets for different parts of the application.
| Content | Source |
|---|---|
| Quran text | alquran.cloud |
| Quran audio | Quran.com / supported recitation providers |
| Tafsir | alquran.cloud |
| Hadith | HadeethEnc and other documented Hadith datasets |
| Prayer calculations | AlAdhan |
Source information is preserved where available so that users can identify the origin of religious content.
Important: External APIs and datasets can change, become unavailable, or contain different metadata. The application therefore avoids presenting unsupported information as fact.
Privacy is a core design principle of Sakinah.
There is no:
- Sign-up
- Login
- Password
- User profile
The following information is stored locally:
- Favorites
- Reading position
- Wird progress
- Settings
- Tasbih data
- Cached content
Location may be accessed when required for:
- Prayer-time calculation
- Qibla direction
The application does not maintain a personal location profile.
Make sure you have:
- Node.js
- npm
- Expo
- Android Studio or a physical Android device for Android development
cd app/artifacts/mobile
npm installnpx expo startThen:
- Scan the QR code with a compatible device
- Or run the application on an Android/iOS emulator
Some native features require a development build rather than standard Expo Go.
For example:
- Advanced notification behavior
- Custom notification sounds
- Certain native modules
Create a development Android build with:
npm install -g eas-cli
eas login
eas build --profile development --platform androidSakinah is an actively developed open-source project.
Some features and data providers may still be evolving.
Current development priorities include:
- Improving Quran UX
- Improving Hadith browsing and search
- Expanding offline support
- Improving prayer notifications
- Refining Qibla accuracy and UX
- Improving Arabic localization
- Expanding the Islamic library
- Strengthening source attribution and data validation
Sakinah is developed with the intention of being a Sadaqah Jariyah (Ψ΅Ψ―ΩΨ© Ψ¬Ψ§Ψ±ΩΨ©).
The project is free to use and has no commercial purpose.
The hope is that it helps Muslims:
- Read the Quran
- Remember Allah
- Learn beneficial knowledge
- Keep track of prayer times
- Build consistent habits of worship
"When a person dies, his deeds come to an end except for three: ongoing charity, beneficial knowledge, or a righteous child who prays for him." β Sahih Muslim
We ask Allah to accept this work, make it beneficial, and reward everyone who contributes to it, improves it, shares it, or benefits from it.
This project is open source.
The project is intended to remain free for end users.
See the repository license for the exact terms governing modification and redistribution.
π Sakinah β Ψ³ΩΩΩΨ©
Built with the hope of becoming a source of lasting benefit.