KHAÏRخير
The Quran, prayer, adhkar and an Islamic library — trustworthy, offline, in Arabic, French and English.



Overview
KHAÏR brings together what a Muslim opens every day: prayer times computed on the device with a countdown and adhan alerts, the complete Quran with translation, tafsir and recitation from many reciters, morning, evening and after-prayer adhkar with a counter, the qibla, and a library of classical books and hadith. All text works offline; audio can be streamed or downloaded. Android home-screen widgets show the next prayer and a dhikr without opening the app.
Objectives
- One calm, trustworthy app for daily worship
- Work fully without a connection, with cited and licensed sources
- Respect Arabic, French and English completely, in light and dark mode
Features
- Prayer times computed on the device (methods and adjustments), countdown and adhan notifications
- The complete Quran: reader, search, bookmarks, translation and tafsir
- Recitation from 22 reciters, continuous play, sleep timer, lock-screen controls
- Adhkar and Hisn al-Muslim with counter, progress and favourites
- Library of classical books and hadith, readable offline and searchable
- Qibla compass with interference detection
- Online or downloaded mode: nothing leaves the device when offline
- Three Android home-screen widgets, light and dark themes, Arabic, French and English
Screens
Highlights
Design
- A sober, elegant identity designed for calm
- Amiri Quran and Noto Naskh Arabic for Arabic text
- Liquid-glass tab bar, mini player and a customisable accent colour
Engineering
- Expo SDK 58 and React Native 0.88 (New Architecture), TypeScript, Expo Router
- Two SQLite databases: read-only content with FTS5 search indexes, and user data with migrations
- Native Kotlin module for the widgets; 52 automated tests covering prayer, qibla, content, search and localisation
Studio audit
A mature, carefully built app. The audit found small but visible issues in onboarding, translation and tests, all fixed in version 31.
Found
- Two automated tests no longer matched the app (reciter audio address and the number of library books), so the suite failed
- The offline city list covered only 9 Algerian cities
- In onboarding, the location warning stayed after a city was chosen by hand, and "Continue" was not the main action
- The "Prayer times" quick tile was cut off on narrow phones
- In Arabic, "continue reading" showed the surah's Latin name, and a city picked in another language stayed in Latin letters
- After a language change the app sometimes restarted in the old reading direction (Arabic laid out left to right)
Fixed
- Tests updated and extended: 52 of 52 pass, type check clean
- Added all 58 wilaya capitals, with a test that checks names and coordinates
- The warning clears once a city is set and "Continue" becomes the primary button
- The tile uses the short tab label and shrinks text instead of cutting it
- Surah and city names follow the interface language on every screen and in the widget
- The new direction is saved before the restart; verified with repeated Arabic ↔ English switches
Scored out of 10 on functionality, interface, visual consistency, performance, responsiveness, navigation, architecture, accessibility, error handling and professional readiness.
Demonstration
KHAÏR is a native Android app. These screens were captured on an Android device running the app's production build; they are not interactive.
Recorded on an Android device
A real session with the production build: home, the Quran reader, then the adhkar.
Want something like this?
Tell us what you are building. We will reply with honest questions, a clear approach and the next step.
