Case Studies

Iqra: Prayer Times, Background Audio and Notifications That Cannot Be Late

Aman MaqsoodCo-Founder & Chief Executive Officer4 min read

The short answer

Iqra combines Quran reading, prayer times, a qibla compass and a Hijri calendar. Its defining constraint is timing. A prayer notification is tied to a calculated moment based on the user's location, and arriving late makes it useless, so the work concentrates on reliable local scheduling, background audio that survives a locked screen, and correct behaviour across time zones and daylight saving changes.

The short version

Read the Quran, know when to pray, find the qibla, follow the Hijri calendar. Four things that people use every day, several times a day, for years.

That usage pattern is the point. This is not an app someone opens during a commute out of boredom. It is part of a daily routine, and anything unreliable in it is noticed immediately and remembered.

Timing is the whole problem

Prayer times are calculated from the user's geographic position and change every day. That produces a chain of requirements that each look small and collectively are the hardest part of the app.

  • Location has to be obtained and permission handled gracefully, including when it is refused, because the app must still be useful with a manually chosen city.
  • Notifications have to be scheduled locally rather than pushed from a server, because they must fire on time with no network at all.
  • Time zone handling has to be explicit. A device that crosses a boundary, or a region that shifts for daylight saving, must not produce a notification at the wrong hour.
  • Background work has to reschedule the coming days, because local notifications are scheduled ahead and the queue has to be kept topped up.

Any one of these done casually produces an app that works on the developer's phone in one city and fails for a user who travels.

Audio that survives a locked screen

Recitation audio has to keep playing when the screen locks and when the user switches apps. Someone listening while doing something else is the normal case, not an edge case.

Background audio is one of those capabilities that is straightforward to demonstrate and awkward to get right across both platforms, because each has its own rules about what may continue in the background and under what declared category.

The compass problem

The qibla compass depends on the device magnetometer, which is affected by nearby metal, phone cases and calibration drift. A compass that points confidently in the wrong direction is worse than one that admits it needs calibrating, which is the same design principle that governs any feature giving an answer people act on.

Shipping changes to an app people rely on

The project includes remote configuration and messaging, which matter more here than they would in a casual app.

Remote configuration means a calculation parameter or a regional adjustment can be corrected without waiting for a store review and a user update. When the thing being corrected is a prayer time, the difference between hours and weeks is the difference between a fix and a problem.

  1. Schedule locally so correctness never depends on connectivity.
  2. Keep a remote lever for parameters you may need to correct quickly.
  3. Test across time zones and daylight saving boundaries deliberately, not incidentally.
  4. Make the app useful without location permission, because some users will always decline it.

Frequently asked questions

Why schedule prayer notifications locally instead of pushing them?
Because they must fire on time with no network connection. A push notification depends on connectivity and delivery timing you do not control. Local scheduling puts correctness in the app's hands, which is the only acceptable answer when lateness makes the notification useless.
What breaks when a user travels?
Time zone handling, if it was left implicit. A device crossing a boundary or a region shifting for daylight saving can produce notifications at the wrong hour. This has to be handled explicitly and tested deliberately, because it never appears on a developer's phone in one city.
Why is background audio difficult?
Both platforms have their own rules about what may keep running in the background and under which declared category. Playback that continues through a screen lock and an app switch is easy to demonstrate and awkward to get consistently right across both.
How accurate is a phone qibla compass?
It depends on the magnetometer, which is affected by nearby metal, phone cases and calibration drift. The honest design is one that prompts for calibration rather than pointing confidently in a direction it is not sure about.
Why does remote configuration matter in an app like this?
Because a calculation parameter may need correcting quickly. Without a remote lever, a fix waits for a store review and then for users to update. With one, it takes hours. When the value being corrected is a prayer time, that gap matters.

Talking about mobile app development?

iOS and Android applications, taken through store review and released — not handed over as a build folder.