NŪRA

NURA · The app

Agenda & Alarms: a note in a file doesn't wake you — a notification handed to iOS does

Remembering what you asked for is not the same as it happening. An alarm that only lives in the app's own store is a note in a file: at 6 AM the app is not running and the phone is asleep, so the only thing that can wake you is a notification handed to iOS in advance. NURA's agenda and alarm layer is built around that fact, and it reuses the exact path the prayer athan already proved on a real device.

Pure planning, thin scheduling

Planning is a pure function: given your items and the current time, it produces the set of notifications iOS should be holding right now. It schedules only the future, and only within a seven-day horizon — a reminder further out will be re-planned long before it fires, and the past is delivered inside the app the next time you look rather than fired the instant it is set. iOS caps a single app at 64 pending local notifications; the prayer engine already claims a share of that budget, so the agenda deliberately takes a modest slice (up to 24) rather than racing it for slots.

Stable ids, so editing a time actually moves the alarm

Every item maps to a stable numeric id derived from its string id by an FNV-1a hash, kept positive and inside 31 bits so both iOS and Android accept it. The clever part is that the id also folds in the fire minute: change an alarm from 7:00 to 7:30 and it produces a new id, so reconciliation cancels the old-time notification and schedules the new one — instead of seeing the unchanged id already present and never re-pushing the moved time. This is the difference between an alarm you edited and an alarm that silently kept its old time.

Reconcile, don't cancel-all

To sync the device, NURA computes the minimum change — which notifications to cancel and which to schedule — rather than cancelling everything and rescheduling. Cancelling everything would leave a window, however brief, in which an alarm due in that very moment simply does not exist. And it only cancels notifications it recognises as its own, decided by the payload iOS hands back (kind alarm or appointment); the prayer engine's notifications sit in the same queue and are never NURA's to touch. Running the reconcile twice changes nothing the second time — it is idempotent, so a restart recomputes the same answer.

A real alarm, and privacy on a public surface

A lock screen is a public surface — anyone holding the phone can read what is on it — so an alarm's payload carries a title and nothing else: no location, no notes, no identifiers. If the item is marked private, even the title is withheld: the banner says only "NURA" and "Something on your day," and you learn what it is when you unlock. Each alarm names a real 28-second alarm tone bundled in the app, not iOS's short default ding — because a soundless notification arrives silently on iOS, which is how an alarm can be "set" and never ring. It still obeys the hardware silent switch (only Apple's Critical Alerts entitlement bypasses that), but for a phone simply asleep with the ringer on, this is a real, insistent alarm. Tap it and the app opens, and the in-app ring takes over until you press STOP.

The prayer path: pull, never push

The athan uses the same delivery mechanism with its own scheduler, and the scheduler is a pull, not a push: what is due right now is a pure function of your prayer entries, your settings, the time, and what has already been sent. That gives restart recovery, no duplicate delivery, and no external side effects for free. A reminder that is more than ten minutes late is treated as stale and dropped rather than fired — so closing a laptop over Dhuhr and reopening it at midnight does not dump every missed reminder at once. NURA sends a pre-reminder, the due athan, and at most two gentle follow-ups; a reminder never changes a prayer's status, because only your own confirmation does that. The athan sound is attached only to the prayer time itself, and only when you have switched the athan on — a pre-reminder or a follow-up is never allowed to sound the call.

One rule for when to be loud

Whether the athan or an alarm plays sound is decided in a single place, so there is one source of truth for "is this a bad moment." An active call, driving, a meeting, or a focus block suppress the sound — never the quiet visual notice, so nothing is lost, it simply doesn't shout over you. In quiet hours or silent mode NURA honours your own policy, and the default is the quietest one; it never decides to be loud on your behalf.

Agenda and alarms are built by NuroNova Genix Co. (Delaware; headquartered in Houston, Texas). Scheduling is handed to iOS so alarms and the athan ring with the app closed, and it all works on-device with no account. The free app is coming soon to iPhone.

Get the athan, live — free

These times update every day. The NURA app keeps them live on your phone, calls the full athan at prayer time, points the Qibla, and shows it all on a living watch face — working offline, no account, no sign-in.

NURA — coming soon to iPhone