A personal project that evolved into a community-serving Android app with offline prayer calculations, custom Hijri calendar, and reliable notifications overcoming Android's battery optimization challenges.
In 2014, I built Namaz Awqaat as a birthday gift for my mother. At the time, the Dawoodi Bohra community lacked a dedicated app that properly handled prayer timings alongside Islamic calendar events like Urus and Milad. The existing ITS52 community app had not fully integrated namaz timings with their calendar system.
My goal was straightforward: create a lightweight, free, ad-free app that could serve the community with accurate prayer times and event tracking. What I didn't anticipate was the technical complexity that would unfold over the next decade.
Personal Mission
"Keep it lightweight, free, and ad-free, yet feature-rich enough to genuinely help the community."
What began as a simple prayer times app quickly revealed multiple layers of complexity:
The app initially used a Gregorian-based calendar, but that defeated the purpose for Islamic event tracking. I needed a fully functional Hijri calendar system with bidirectional conversion.
Implemented bidirectional Hijri-Gregorian conversion using Tabular Islamic Calendar (Type II, 30-year cycle) using Java's LocalDate and ChronoUnit for accurate day arithmetic.
Prayer times are not arbitrary. They are based on precise astronomical calculations involving sun positions, twilight angles, and geographic coordinates. The app needed to calculate the 5 daily prayer times plus additional important timings (Sehori end, sunrise, Tahajjud/Ehya times) completely offline.
Built a custom calculation system using astronomical formulas to determine sunrise/sunset times, then derived all 5 prayer times plus additional timings using precise day/night period calculations based on user's GPS coordinates or selected city.
This became the most persistent and frustrating challenge. The core feature of triggering prayer notifications on time was constantly broken by:
Each Android SDK upgrade introduced new restrictions. Every OEM manufacturer (Xiaomi, Oppo, Huawei, Samsung) had their own aggressive battery optimization that killed alarms. Users reported missed prayer notifications, and I had to continuously test, debug, and adapt the notification architecture.
Over 10+ years of iteration, I built a robust architecture that handles all these challenges:
Developed a fully functional bidirectional Hijri-Gregorian calendar conversion system using the Tabular Islamic Calendar algorithm with accurate leap year calculations. The calendar handles all date conversions seamlessly, allowing users to view and navigate Islamic dates alongside Gregorian dates throughout the app.
Built a sophisticated calculation engine using astronomical algorithms to precisely determine all 5 daily prayer times, plus additional important timings like Sehori end, sunrise, and Tahajjud (Ehya) times based on the user's geographic location. Supports multiple location methods including automatic GPS detection, manual coordinate entry, or city selection from a worldwide database of thousands of cities. The entire system works completely offline after initial setup, with memory-efficient architecture that performs smoothly on both high-end and budget devices.
Engineered a robust notification system that reliably delivers prayer alerts across all Android versions and device manufacturers, overcoming aggressive battery optimization that typically kills background alarms. The system features full-screen prayer alerts with azaan audio, a persistent notification showing the current Islamic date and next prayer time, and daily reminders for important Miqaat events. Extensive testing and optimization ensure notifications arrive on time whether on high-end Samsung devices or budget phones from Xiaomi, Oppo, and other manufacturers.
Integrated a comprehensive database of important Islamic dates for the Dawoodi Bohra community including Urus, Milad, and Salgira commemorations. Users can add personal events, set reminders, and optionally sync all events with their device's native calendar app for unified calendar management.
Designed multiple widget sizes showing current prayer times directly on the home screen. The widgets automatically update when prayer times change, handle timezone transitions seamlessly, and provide instant visibility of the next upcoming prayer without opening the app.
The app has grown from a birthday gift to serving over 50,000 members of the Dawoodi Bohra community worldwide, with consistent 4.5+ star ratings on Play Store.
Maintained completely free with no ads, in-app purchases, or data collection. The app remains true to its mission of serving the community without commercial motives.
Regular updates to support new Android versions, fix OEM-specific issues, and add requested features. The app has evolved through Android 4 to Android 16, adapting to every breaking change.
After years of battling Android and OEM restrictions, the notification system now achieves 99%+ delivery reliability across all devices through full-screen intent architecture and strategic permission handling.
Supporting multiple Android versions and OEM customizations requires defensive programming, extensive testing across devices, and preparing for breaking changes with every SDK upgrade.
The community's feedback about missed notifications and specific device issues helped identify problems I couldn't reproduce in testing, leading to more robust solutions.
Keeping the app lightweight and focused on core functionality made it easier to maintain and adapt to platform changes over a decade.
Building offline capabilities from day one meant users never depended on network connectivity, making the app more reliable and privacy-friendly.
Looking for custom Android or iOS development? Our team at Synhex Solutions specializes in native mobile app development.
Get Expert Help from Synhex Solutions