AzanClock — Prayer App
Prayer times and Azan notification app for iOS and Android. Solved a tricky iOS background-notification bug that had stumped multiple senior developers.

The standout part of this project wasn't the feature set — it was tracking down and fixing a notoriously difficult iOS bug where Azan notifications silently failed to play in the background, one that had stumped multiple senior developers before. AzanClock is a prayer-times and Azan notification app for iOS and Android that shipped once that bug was actually understood, not worked around.
The Challenge
- Azan audio notifications needed to fire reliably even when the app was backgrounded or the device was locked
- The bug was intermittent and platform-specific, making it hard to reproduce consistently
- Standard debugging approaches (logs, breakpoints) weren't surfacing the root cause
- The fix required a genuinely deep understanding of iOS background-audio and notification behavior, not a workaround
What I Built
- Location-based prayer time calculation with accurate scheduling
- Scheduled Azan audio notifications per prayer time
- iOS background-audio bug fix — isolated the root cause using a minimal repro app stripped down to a single screen and notification trigger, then ported the fix back into the main app
- Android notification parity ensuring consistent behavior across both platforms
Tech Stack
- Framework: React Native
- Notifications: Native iOS/Android notification and background-audio APIs
- Platforms: iOS, Android
Key Decisions
- Isolated the iOS background-notification bug using a minimal repro app (one screen, one notification trigger) rather than continuing to debug inside the full app, since the bug's intermittency made it nearly impossible to pin down amid the main app's complexity
- Investigated iOS background-audio and notification behavior at the platform-documentation level rather than relying on trial-and-error workarounds, since the bug had already resisted standard debugging approaches from multiple senior developers
- Verified Android notification behavior separately to ensure platform parity rather than assuming the iOS fix translated directly
Outcome / Impact
Fixed a bug that had blocked release for weeks and stumped other developers, unblocking the app for App Store submission — a case study in solving platform-specific issues through minimal reproduction rather than more logging.