A comprehensive Islamic companion for Android. Accurate prayer times, a full offline Quran reader with transliteration and English translation, a GPS-calibrated Qibla compass, Masnoon Du’as, prayer alarms with Adhan audio, and home screen widgets — all in one considered app.
Al-Mizaan (“The Balance”) was built for Muslims who want a single, reliable companion for their daily practice — not five separate apps held together by habit. Every decision in the architecture reflects that ambition.
Each capability was built to work reliably under real-world conditions — poor signal, background restrictions, device reboots, and OS upgrades. Nothing was bolted on.
Accurate salah times for any location, calculated entirely on-device using the Adhan library — the same algorithm trusted by major Islamic organisations worldwide. Choose from 12 calculation methods (MWL, Egyptian, Karachi, Umm al-Qura, ISNA, and more) and both Hanafi and Shafi’i Madhabs. Per-prayer notification toggles are persisted to DataStore. A live next-prayer countdown updates every second.
All 114 Surahs with the complete Uthmani Arabic text, English transliteration (talaffuz), and Muhammad Asad’s English translation — arranged in a warm, parchment-style layout that’s comfortable for extended reading. Each verse displays its reference chip (e.g. “Aya 2:255”), and Bismillah is rendered correctly — shown once at the top, never duplicated in verse 1. The Arabic text is available immediately offline; translations download silently in the background on first launch.
Stream full recitations via a Media3 / ExoPlayer-backed foreground service. Word-level highlighting follows along as each ayah is recited, automatically adjusting to your chosen playback speed (0.5×, 1×, 1.5×, 2×). A persistent media notification lets you pause, resume, and seek from the lock screen or notification shade — even with the app in the background.
Inline surah search built directly into the surah list screen. Filter by surah number, English name, or meaning in real time — type “2”, “Baqara”, or “the cow” to find Surah Al-Baqarah. No separate screen, no loading state, no delay.
GPS-calibrated Qibla direction using the device’s magnetometer and accelerometer, corrected for magnetic declination at your current location. A smooth animated compass needle points toward the Kaaba and updates in real time as you rotate the device. Works without a network connection once your location is established.
A curated collection of prophetic supplications across 14 categories — Morning, Evening, Eating, Sleep, Travel, Entering / Leaving the Home, and more. Each du’a presents the original Arabic text, phonetic transliteration, English translation, and its Hadith source reference, so every supplication is attributed and verifiable.
Exact alarms using Android’s USE_EXACT_ALARM permission ensure
your adhan fires at the correct moment, not drifted by battery optimisation.
Separate audio tones for Fajr and regular prayers.
Notification actions let you Dismiss or Snooze directly from the lock screen.
Alarms are automatically rescheduled after a device restart via a
RECEIVE_BOOT_COMPLETED receiver and WorkManager.
Two Jetpack Glance widgets give you upcoming prayer times without opening the app. The compact 2×1 widget shows the next prayer; the full 4×2 widget lists all five prayers for the day. Both are refreshed automatically by a WorkManager job so the times stay current as the day progresses.
The complete Quran Arabic text is bundled as a pre-built SQLite Room database
and is available from the very first app launch without any network access.
A background TranslationSyncWorker pre-downloads English translation
and transliteration for all 114 surahs once. After that initial sync, the
Quran reader operates entirely offline, indefinitely.
Full control over the app experience via a single settings screen backed by DataStore Preferences. Configure: calculation method, Madhab, location (automatic GPS or manual city search), per-prayer notification toggles, colour theme (Light / Dark / System Default), and app language (English / Arabic / Urdu). Every preference persists across restarts and updates.
Placeholder frames — production captures and device mockups will be added here. Scroll the strip to preview all screen positions.
Prayer Times
Prayer Times — Dark Mode
Quran — Surah List
Quran Reader
Qibla Compass
Masnoon Prayers
Du’a Detail
Notification
Settings
About Us
Support
← Scroll to see all screens · Production screenshots coming soon
Every dependency earns its place. The stack reflects current Android best practices with no legacy baggage — designed to remain maintainable as the platform evolves.
| Layer | Technology |
|---|---|
| Language | |
| UI | |
| Architecture | |
| DI | |
| Navigation | |
| Database | |
| Preferences | |
| Networking | |
| Prayer Calculation | |
| Audio | |
| Widgets | |
| Background | |
| Location | |
| Build System | |
| Min / Target SDK |
The project uses a build-logic composite build with six Gradle convention plugins
that eliminate boilerplate across all modules. Feature modules depend solely on
core:domain interfaces — they never import core:data directly.
Every screen composable is split into a ViewModel-bound wrapper and a stateless content
composable, enabling full @Preview support without Hilt in Android Studio.
Al-Mizaan means The Balance — a reminder that good software, like good practice, is about precision and discipline in equal measure.
Al-Mizaan represents our Android practice at its most complete — offline-first architecture, multi-module clean architecture, and careful attention to platform conventions. If your app requires the same depth of engineering, we’d like to hear about it.
Before we start, please share a few details so we can follow up with you.
End this conversation? Your chat will be emailed to us.