NinjaNext product
MuslimApp: prayer times and Qibla, private by design
Our own Android app for prayer times, Qibla direction, tasbeeh and zakat, rebuilt in Kotlin and Jetpack Compose. It works offline in English, Urdu and Arabic.
Published on Google Play by NinjaNext Technologies and maintained since 2019. Version 4.0 is a full rewrite.
- Owner
- NinjaNext product
- Industry
- Consumer Apps & Games
- Period
- 2019 to 2026
- Platforms
- Android phone, Android tablet
- Key figures
- 3languages, including right-to-left
- 0accounts, ads or trackers

The problem
Many prayer apps need an account, show ads or send location data to a server. We wanted one that calculates everything on the phone, works without internet and respects the user's language, including right-to-left layouts.
What we built
Version 4.0 is a ground-up rewrite in Kotlin and Jetpack Compose. Prayer times are calculated on the device, reminders use exact alarms that survive restarts and time-zone changes, and the app requests no internet permission at all.
Key features
- Prayer times calculated on the device, with 10 calculation methods, Hanafi or standard Asr, and high-latitude rules
- Exact-alarm prayer reminders that are set again after a restart, update or time-zone change
- Qibla compass corrected to true north, with calibration help and a fallback for phones without a compass
- Digital tasbeeh with custom dhikr, targets, haptics and a daily total
- Zakat calculator with gold or silver nisab; figures are never saved
- Hijri date with a manual adjustment of up to two days
- English, Urdu and Arabic with full right-to-left layouts, light and dark themes, phone and tablet layouts
- No accounts, no ads, no analytics and no internet permission
Technology stack
The main technologies used in this project.
- Kotlin
- Jetpack Compose
- Material 3
- DataStore
- Coroutines
- Adhan library
- GitHub Actions
Our role
Designed, built and published by NinjaNext.
Challenges and how we handled them
Accurate times with no server
All calculations run on the device. Unit tests compare the results against published timetables for different methods and locations.
Reminders that do not go missing
Android can clear scheduled alarms after a restart or update. The app listens for those events and sets every reminder again.
Screens
Let's build it
Planning something similar?
Tell us about your project. If it is close to MuslimApp, we will explain what we would reuse, what we would do differently and what to decide first.



