How to Fix Notification Issues in Productivity Apps (2026 Pillar Guide)
The morning my domain lapsed because Todoist's reminder never fired, plus an app-by-app fix protocol for the 7 productivity apps most people use, the trust ladder that explains why some notifications get through and others do not, and the WhatsApp escape hatch I now use for anything I actually cannot afford to miss.
Notifications in productivity apps fail for three broad reasons: OS-level filtering (Focus modes, battery savers, background refresh restrictions), app-level configuration (wrong reminder settings, timezone mismatches, priority thresholds), and delivery-layer flakiness (push tokens expiring, servers throttling). This post walks through the specific fix for each of the 7 most common apps (Todoist, TickTick, Notion, Apple Reminders, Google Calendar, Structured, and Mursa), introduces a concept I call the notification trust ladder to help you decide which apps deserve your reliance, and explains why WhatsApp-transported reminders have near 100 percent delivery rates and how to use that as an escape hatch for the truly critical stuff. I wrote it after my Todoist reminder for renewing the mursa.me domain silently failed on January 8 2025, and the site went dark for 4 hours during business.
January 8 2025. 7:04am. I woke up to a Twitter DM from a user asking if mursa.me was down. It was. Specifically, the domain had lapsed at 3:00am UTC because the DNS registrar had failed to auto-renew (the card on file had expired the previous month), and I had a Todoist reminder set for December 20 that read 'renew mursa.me domain, card expiring'. The reminder never fired. Not on my phone, not on my watch, not on my Mac. When I opened Todoist that morning to figure out how I had missed something so obvious, the task was still there, correctly dated December 20, marked as overdue in red. It had simply not notified me. Every subsequent reminder Todoist had set that week for other things had also failed. When I traced it back, iOS had silently moved Todoist into my Sleep Focus mode's silenced list during an OS update on December 18, and I had never noticed because the app was still open, still syncing, still showing my tasks. The notification system was broken. The rest of the app was fine.
The blast radius was 4 hours of downtime, roughly 200 users who hit login errors, one very embarrassed email to the two paying customers who noticed and reached out, and a full afternoon of migrating DNS and setting up better renewal automation. The domain cost me 18 dollars to renew. The lost trust cost me a lot more. But the bigger cost was the realization that I had been trusting Todoist reminders for two years without ever actually verifying that they worked reliably. I checked my other productivity apps that afternoon and found that TickTick, which I use as a secondary layer, had the same iOS Focus problem. Apple Reminders, ironically, had been firing correctly the whole time because iOS treats its own apps differently. Google Calendar was fine on the phone but silently broken on my Mac. Notion had never worked reliably for time-based reminders in the first place, which I had been aware of but had never really internalized as a design flaw.
This is the pillar guide I wrote in the weeks after that morning. It covers the three broad failure categories (OS-level, app-level, delivery layer), the specific fix protocol for the 7 productivity apps most people use, a concept I call the notification trust ladder for deciding which apps you should actually rely on for critical reminders, the WhatsApp escape hatch that I now use for anything I genuinely cannot afford to miss, and a monthly audit checklist to catch silent failures before they become 4-hour outages. The tone is not scolding. Notification failure is not your fault. The mobile OS ecosystem has spent the last 5 years making notifications less reliable in the name of battery life and user calm, and productivity apps have not universally caught up. Understanding the failure modes is how you protect yourself.
Why Productivity App Notifications Fail on iOS Specifically
iOS is the harder case, and I say that as a longtime iPhone user. Since iOS 15 introduced Focus modes, and iOS 16 tightened background refresh, the number of independent settings that can silently kill a productivity app notification has grown to at least 8. Each one can break notifications on its own, and none of them are visible from inside the app itself. Here they are in the order I recommend checking.
First, Focus modes. Settings, Focus, and for each Focus you have set up (Work, Personal, Sleep, Do Not Disturb, and any custom ones), check the Allowed Notifications section. Every productivity app you care about needs to be in the Allowed Apps list for every Focus during which you want its notifications. This is per-Focus, not global, so setting Todoist to allowed in Work Focus does not help you in Sleep Focus. If your notifications suddenly stopped after an iOS update, this is almost always the culprit.
Second, notification style. Settings, Notifications, then find the app. Check that Allow Notifications is on, Immediate Delivery is chosen (not Scheduled Summary, which batches everything into a couple of daily digests), and Time Sensitive Notifications is enabled if the app supports it. Time Sensitive is the mechanism by which a productivity app can bypass Focus modes for genuinely urgent stuff. Todoist and TickTick both support this on paid tiers. Apple Reminders uses it by default.
Third, background app refresh. Settings, General, Background App Refresh. Some productivity apps use background refresh to fetch scheduled reminder state from their server, and if refresh is off (either globally, or for the specific app, or restricted to Wi-Fi only) the app may not know about a reminder in time to fire it. Todoist historically had a bug where a reminder set on desktop would not fire on mobile if background refresh was off, because the mobile app never synced the reminder to its local scheduler.
Fourth, low power mode. When Low Power Mode is on (Settings, Battery), iOS aggressively throttles background activity for non-system apps. This means a scheduled reminder can fire late by minutes or fail entirely. If your phone spends a lot of time in Low Power Mode (mine does, because I forget to charge it), you have a silent reliability problem for anything time-critical.
Fifth, notification grouping. Settings, Notifications, your app, Notification Grouping. If this is set to By App, iOS will stack notifications and only show a summary badge, which is easy to miss on a busy lock screen. Set it to Off for your most important apps so each notification appears individually. This is a visibility fix, not a delivery fix, but visibility failures feel identical to delivery failures when you miss the reminder.
Sixth, screen time restrictions. Settings, Screen Time, Communication Limits and App Limits. If you have set a time limit on a productivity app and it has been hit, notifications from that app can be suppressed. Rare, but I have seen it happen to a user who had set a 30-minute daily limit on Notion during a focus-week experiment and then forgot he had done it.
Seventh, notification schedule via calendar. If you have a Focus mode that triggers automatically based on a calendar event (like a Work Focus that turns on during meetings), the Focus can enable itself during a window where you were not expecting quiet, and any notifications during that window will be filtered per that Focus's allow list. This is the failure mode that broke a friend of mine last month. Her Personal Focus was set to enable during any calendar event marked Personal, and one of her recurring events was marked Personal but had a whole-day duration, so Personal Focus stayed on for 24 hours a day and quietly filtered out most of her productivity app notifications.
Eighth, do not disturb inheritance from Apple Watch. If you have an Apple Watch, its Focus mode syncs from the phone by default, and its notification settings mirror the phone's. But there is a separate Watch-only setting for whether the Watch mirrors the phone's Focus or has its own independent one. If those get out of sync, you can end up with notifications firing on the phone but not the Watch (or vice versa), which is confusing when you thought you had disabled everything.
For any productivity app you rely on for critical reminders, do this test today. Set a reminder for 90 seconds from now. Lock the phone. Wait. If the notification fires on the lock screen with sound and haptic feedback, the delivery layer is working. Then repeat with the phone in the current Focus mode you use most. If it fires there too, you are covered for that Focus. Repeat for every Focus. This 5-minute exercise catches roughly 80 percent of silent notification failures before they cost you anything.
Why Productivity App Notifications Fail on Android Specifically
Android's failure modes are different but no less numerous. The dominant issue on Android is battery optimization, which many manufacturers implement aggressively on top of stock Android. Samsung, Xiaomi, Oppo, and OnePlus are the notorious ones. Their battery optimizers will put productivity apps to sleep in the background, killing scheduled reminders. Don't Kill My App at dontkillmyapp.com maintains a per-manufacturer guide to the settings that need to be adjusted, and it is the single most useful resource I have found for Android users complaining about missed reminders.
Beyond battery optimization, Android has notification channels. Every app declares one or more channels for different types of notifications, and users can silence individual channels while leaving others on. This is a great feature when you use it deliberately, and a silent failure mode when you toggle something off by accident. Settings, Apps, your app, Notifications, and you will see a list of channels. Verify that the reminder channel is on, that its importance is set to Urgent or High (not Default or Low), and that it is allowed to override Do Not Disturb if you need it to.
Do Not Disturb on Android is similar to iOS Focus in that it can filter notifications globally. Settings, Sound and Vibration, Do Not Disturb, and verify the exceptions list includes your critical productivity apps. Some Android manufacturers layer their own version of DND on top of stock, called something like Bedtime Mode or Silent Mode, and each layer has its own exceptions list. Check all of them if you are on a non-Pixel device.
The App-by-App Fix Protocol for 7 Common Productivity Apps
This section walks through the specific settings to check for each of the 7 apps I see most commonly. I have used every one of these in production for at least 3 months. The fixes are ordered by how often I see the specific failure mode in the wild.
Todoist: The 4 Settings That Explain 90 Percent of Failures
First, in the Todoist app itself, Settings, Notifications, and verify Reminders are enabled with the delivery method you want (Push, Email, or Both). The default on some tiers is Push only, which fails silently if push is broken at the OS layer. Second, verify your account timezone in Settings, General, matches your actual timezone. Todoist stores reminders in your account timezone, and if you moved cities without updating it, reminders will fire at the wrong local time. Third, verify Reminders are on your paid tier if you rely on time-based reminders. Todoist restricts specific-time reminders to paid tiers, and if you downgraded, your existing reminders may stop working. Fourth, at the OS level, verify Todoist is in your Focus allow list, background app refresh is on, and Time Sensitive Notifications is enabled. My Todoist has been reliable since I fixed all four, but it took me the January 8 outage to actually check.
TickTick: Similar to Todoist Plus One Trap
TickTick's app-level settings mirror Todoist's closely. Same 4 checks apply. The one additional trap: TickTick has an in-app setting called 'Ringtone for Reminders' that, if set to Default (System), will play whatever alert tone the OS decides, which on some phones is silent by default in specific modes. Set it to a specific TickTick tone that you have verified plays audibly. TickTick also has a distinct 'Overdue Notification' toggle. If you are missing reminders for tasks that already passed, that is what to check.
Notion: Do Not Trust Notion for Time-Critical Reminders
Notion is a wonderful document tool. It is not a reliable reminder tool, and I say that after two years of trying to make it one. The Notion Reminders feature (setting a due date with a specific time and enabling notification) works most of the time but not always, and Notion's mobile app is heavier than a dedicated task app, which means it is more aggressively background-managed by the OS. If you must use Notion for reminders, set database reminders (which are more reliable than inline reminders), enable both push and email notifications so email is your backup, and never use Notion as your primary layer for anything that has real consequences if missed. For the January 8 domain renewal, I now have a Notion database entry plus a Todoist reminder plus a calendar event plus a Mursa WhatsApp reminder. Yes, that is 4 layers. That is what a 4-hour outage teaches you.
Apple Reminders: Reliable, With One Caveat
Apple Reminders benefits from being an Apple app on Apple hardware. Its notifications are treated as system notifications and get through Focus modes with default settings. The one caveat: if you rely on location-based reminders (remind me when I arrive at the office), those depend on background location services and Precise Location being enabled for Reminders. Settings, Privacy and Security, Location Services, Reminders, and set to Always with Precise Location on. Otherwise your location-based reminders will fire intermittently or not at all. Time-based reminders are essentially always reliable on iOS.
Google Calendar: The Mac Silent Failure
Google Calendar mobile notifications are generally reliable if the app is signed in, background refresh is on, and it is in your Focus allow list. The subtle failure mode I hit: the Google Calendar web notifications (via Chrome or Safari) require Site Notification permissions per browser, and macOS notification settings for the browser. If Chrome does not have System notification permission (Settings, Notifications, Chrome), your Google Calendar web notifications silently fail. This is what killed my January 8 morning calendar reminders. Fix: on macOS, System Settings, Notifications, Chrome, and set to Allow with sound. Then in Chrome, Settings, Privacy and Security, Site Settings, Notifications, verify calendar.google.com is allowed.
Structured: Beautiful, Requires Precise Configuration
Structured is a visual daily planner that has grown in popularity. Its notifications work well when configured, but the default is fairly conservative. Open Structured, Settings, Notifications, and verify each event type (Task Start, Task End, Task Due) is enabled with the timing you want (I like 5 minutes before start). Structured also has a Live Activity mode on iOS that provides an always-visible timeline, which is a great alternative to notifications for people who prefer glanceable state over interruption. If you find yourself checking Structured constantly, enable Live Activities and dial back push notifications.
Mursa: WhatsApp Delivery as the Design Choice
I build Mursa, so I want to be specific about how notification reliability was a design goal from the start. Mursa reminders are delivered as WhatsApp messages, which means they use WhatsApp's push infrastructure. WhatsApp on iOS has near-100 percent notification delivery in my testing because messaging apps get special OS treatment (Time Sensitive by default, exempt from most Focus filtering for people-based notifications). On Android, WhatsApp is one of the apps that essentially all manufacturers exempt from battery optimization by default, because breaking WhatsApp would be a customer support nightmare for them. This is not an accident. It is the reason Mursa uses WhatsApp as the transport layer rather than building a native app with its own push. If you want a productivity app that inherits messaging-app-grade delivery reliability, WhatsApp-transported reminders are the cleanest way to get it.
The Notification Trust Ladder
After the January 8 outage, I sat down and ranked every notification channel I use by empirical reliability. This is what I call the notification trust ladder. Most people trust apps that should not be trusted for critical reminders (elaborate productivity apps) and mute the ones that should (their own text messages, WhatsApp, phone calls). The trust ladder is a way to think about which apps should carry which weight.
Top of the ladder, essentially always reliable: phone calls, SMS, WhatsApp messages, iMessage. These use system-level messaging infrastructure that OS vendors treat as sacred. If you get a text, you got the text. Second tier, generally reliable with correct setup: Apple Reminders (on iOS), Google Calendar (on Android and mobile iOS), Microsoft Outlook Calendar. These are treated well by OSes because they are calendar/reminder apps from major platform vendors. Third tier, reliable when configured correctly but easily broken by OS updates: Todoist, TickTick, Structured, most dedicated task apps. These need periodic re-verification. Bottom tier, do not trust for critical reminders: Notion, Airtable, Trello, most database-first tools that have a reminder feature bolted on rather than built in.
The lesson is not that Notion is bad. Notion is great for what it is. The lesson is that you should choose your notification carrier based on the consequence of the reminder being missed. For 'buy milk on the way home', Notion is fine. For 'renew business domain, credit card expiring', you want top of the ladder. This is why Mursa exists in the shape it does. It gives you top-of-the-ladder delivery for the reminders you set through a productivity workflow, because it rides WhatsApp instead of a custom push channel.
For any reminder where the consequence of missing it is more than 100 dollars in real or opportunity cost, use two independent notification carriers from different tiers of the ladder. My domain renewal is now a Todoist task, a Google Calendar event, an Apple Reminder, and a Mursa WhatsApp reminder. Four channels, three independent delivery paths. If any one of them fires, I renew the domain. The redundancy is proportional to the stakes.
The WhatsApp Escape Hatch (Why Messages Get Through When Notifications Don't)
The core insight I built Mursa around, and the reason I am writing this section separately, is that WhatsApp has effectively 100 percent notification delivery on both iOS and Android, and there are specific structural reasons for it that are not going to change. On iOS, WhatsApp is a messaging app, which means it inherits the Time Sensitive notification class by default, is exempt from Focus filtering unless the user has explicitly filtered it, and has always-on VoIP-adjacent push priority. On Android, WhatsApp is on every manufacturer's default battery optimization exemption list, has priority notification channels, and uses Firebase Cloud Messaging in high-priority mode which pretty much guarantees delivery within seconds.
This means if you can turn your productivity reminders into WhatsApp messages, you inherit all of that infrastructure automatically. That is what Mursa does. You set a task in Mursa via WhatsApp, and the reminder is delivered back to you via WhatsApp at the scheduled time. There is no separate app to install, no push token to expire, no Focus list to remember to update. The transport layer is the same one you already use for every important conversation in your life. This is a design choice with a lot of downstream implications, but the one that matters for this article is that it makes productivity reminders as reliable as messages from your family.
You do not need Mursa specifically to use this pattern. You can approximate it with any tool that supports WhatsApp or SMS notifications. IFTTT and Zapier both have SMS output options. Google Calendar has SMS reminders if you set up a phone number in your account settings. The pattern is the important thing, and it is: whenever the stakes are high enough, route the reminder through a messaging channel, not an app-native push channel. This is the escape hatch, and it works because the OS ecosystem has decided that messages between people are essentially uninterruptible, while notifications from apps are aggressively filterable.
On January 8 2025 at 3:00am UTC my domain lapsed because the auto-renewal failed and my Todoist reminder to check the card on file never fired. It had been silently filtered by an iOS Focus mode after an OS update in December. I now use 4 independent notification carriers for anything with real-money consequences.
The Monthly Notification Audit Checklist
The single biggest lesson from January 8 is that notification reliability is not a set-and-forget property. OS updates, app updates, and your own settings drift silently, and the only way to catch it is to periodically verify. This is the 15-minute checklist I run on the first Saturday of every month. It is boring on purpose.
One, for each productivity app you rely on, set a test reminder for 2 minutes from now. Lock the phone. Wait. Verify the notification arrives with sound and vibration on the lock screen. Repeat for each Focus mode you use regularly (Work, Sleep, Personal). If any test fails, drop into that app's OS-level notification settings and fix it before moving on.
Two, open each app that you set reminders in and look for any recent reminders that were supposed to fire and did not (they will appear as overdue in most apps). If you find any, that is a signal that reliability drifted during the previous month. Look at what changed (OS update, app update, Focus mode change) and fix the root cause, not just the individual missed reminder.
Three, check your Focus modes. Settings, Focus, and open each one. Verify the Allowed Apps list still includes everything you expect. iOS 17 and 18 both silently reset Allow lists during major upgrades, so this catches a class of failures that no amount of individual app checking will.
Four, check your Do Not Disturb schedule. Sometimes summer time changes shift the effective window and you end up with quiet hours during your actual work time. This has happened to me twice.
Five, if you have an Apple Watch or a Wear OS device, run steps one and two on the watch as well. Watches have independent notification settings from the phone in ways that are not always obvious, and you can end up with reminders firing on the phone but not the wrist (or vice versa).
Six, for anything genuinely critical (domain renewals, tax filings, contract expirations, kids' birthdays), verify you have at least two independent delivery channels set up. If both were on Todoist, that is not two channels, that is one channel with two entries. Two channels means two different apps on two different delivery paths (Todoist plus Google Calendar, or Apple Reminders plus Mursa WhatsApp, etc).
Notification reliability is a system property, not an app property. You verify the system monthly, or you accept that you will eventually miss something that costs you.
What I Would Do Differently If I Started From Scratch Today
Three things. First, I would not have relied on a single productivity app for anything with real financial consequences. The rule I use now is 'if missing this costs more than 100 dollars or 2 hours of my day, it needs two independent delivery channels'. This is cheap to implement (5 seconds of extra setup per reminder) and would have prevented the January 8 outage entirely. Second, I would have set up WhatsApp-transported reminders for critical stuff from the start, either through Mursa or through Google Calendar's SMS reminder feature, or IFTTT. WhatsApp and SMS have the best delivery infrastructure available to non-Apple apps and it is silly not to use them for high-stakes reminders. Third, I would have run the monthly audit checklist starting the day I began using any productivity app, rather than starting after an outage taught me it was necessary. The audit takes 15 minutes and would have caught the December 18 iOS update problem within 3 weeks.
The mursa.me outage on January 8 ended with a slightly nervous afternoon, a very apologetic email to two customers, and a much better notification architecture for me personally. I still use Todoist for daily task management because it is the best product in its category and I like the natural language date parsing. But I no longer trust it, on its own, for anything that would cost me if it silently failed. I trust the system: Todoist plus Apple Reminders plus Google Calendar plus Mursa WhatsApp, monitored by a monthly audit ritual, with keyword-based escape hatches for anything truly urgent. The system is not elegant. It is redundant, layered, and mildly annoying to set up. It is also the reason I have not missed a domain renewal, a tax deadline, or a customer call since. Notifications are like backups. The value is not in having them. The value is in verifying they work before you need them.
Frequently Asked Questions
Why don't my Todoist notifications work?
In roughly 80 percent of cases I have debugged, the answer is OS-level filtering, not Todoist itself. On iOS, check that Todoist is in the Allowed Apps list for every Focus mode you use, that Background App Refresh is on for Todoist, that Time Sensitive Notifications is enabled, and that you are not in Low Power Mode when the reminder should fire. On Android, disable battery optimization for Todoist in your manufacturer's battery settings (dontkillmyapp.com has per-manufacturer instructions). Inside Todoist itself, verify your account timezone matches your actual location, and that time-based reminders are enabled on your tier (some are paid-only). Then run the 90-second test: set a reminder for 90 seconds from now, lock the phone, wait. If it fires, delivery is working. If it does not, walk back through the checks above.
How do I fix iOS notification issues for productivity apps?
Start with Focus modes. Settings, Focus, and for every Focus mode you use, add your productivity apps to the Allowed Apps list. Then Settings, Notifications, find each app, and enable Allow Notifications, set delivery to Immediate (not Scheduled Summary), enable Time Sensitive Notifications, and set notification style to Banners or Alerts with sound. Then Settings, General, Background App Refresh, and ensure the app is enabled. Then test with a 90-second reminder while locked. Repeat for each Focus you use. This 10-minute process catches essentially every iOS notification failure I have seen. If it still does not work, the app itself may have a bug and worth checking their status page or reinstalling.
Best notification-reliable task manager?
For pure notification reliability on iOS, Apple Reminders is essentially always going to fire because it is a first-party app and gets preferential treatment. Google Calendar reminders are similarly reliable on Android. Among third-party dedicated task apps, Todoist and TickTick are both reliable when configured correctly (see the Todoist question above). For the most reliable delivery of any kind, use messaging-transported reminders (Mursa via WhatsApp, or Google Calendar's SMS reminders, or an IFTTT-to-SMS chain), because messaging infrastructure gets treated as effectively uninterruptible by both iOS and Android. The safest pattern is to layer: one dedicated task app for daily workflow, plus messaging-transported reminders for anything with real-money stakes.
Why don't reminders fire when phone is on silent?
Because most productivity apps use notification classes that respect the phone's silent mode by default. On iOS, the fix is to enable Time Sensitive Notifications for the app in Settings, Notifications, which allows it to bypass silent mode and Focus modes. Apple Reminders and some other first-party apps get Time Sensitive by default. Third-party apps require explicit enabling. On Android, the equivalent is setting the app's notification channel importance to Urgent and enabling Override Do Not Disturb on that channel. If you want a reminder to genuinely wake you up regardless of phone state, use a first-party alarm (which bypasses everything by design), or a messaging-based system where the message comes from a WhatsApp or SMS thread flagged as important.
How to test if my app notifications are working?
The 90-second test. In any productivity app, create a task with a reminder set for 90 seconds from now. Lock the phone immediately. Wait 90 seconds. If the notification arrives on the lock screen with the sound and vibration you expect, delivery is working under normal conditions. Then repeat under each Focus mode you use regularly (Sleep, Work, Personal), because a reminder that fires in default mode can be silently filtered by a Focus. This 5-minute exercise per app catches essentially all silent-failure states. Run it monthly, especially after any OS update, and after any major app update to your productivity tool.
Do iOS Focus modes break Todoist notifications?
Yes, this is the single most common source of missed Todoist notifications I see. When iOS updates or when you create a new Focus mode, Todoist is often not automatically added to the Allowed Apps list, which means Todoist notifications are silently filtered during that Focus. The fix is per-Focus: Settings, Focus, tap each Focus, tap Apps under Allowed Notifications, and add Todoist explicitly. Repeat for every Focus. Also enable Time Sensitive Notifications for Todoist in Settings, Notifications, Todoist, which lets it bypass most Focus filtering for reminders that Todoist marks as time-sensitive. This same fix applies to TickTick, Notion, and any other third-party productivity app you rely on.
How do I stop missing important reminders across multiple apps?
Use two independent delivery channels for anything that would cost you if missed. Independent means different apps on different push infrastructures, not two reminders in the same app. My setup for domain renewals and tax deadlines: Todoist plus Google Calendar plus Apple Reminders plus Mursa WhatsApp. Four channels, three different backends. If any one fires, I act. The redundancy costs 30 seconds per reminder to set up and has caught silent failures three times in the past year. For lower-stakes daily tasks, one channel is fine. Match the redundancy to the consequence.
Are WhatsApp reminders more reliable than app notifications?
Yes, materially so. WhatsApp inherits messaging-app priority on both iOS and Android, which means it is exempt from most Focus filtering, gets Time Sensitive treatment by default, and is on every Android manufacturer's battery optimization exemption list. In practice this translates to near-100 percent delivery. Any productivity workflow that ends in a WhatsApp message (Mursa does this natively, but you can also chain IFTTT or Zapier to WhatsApp Business API for the same effect) inherits that reliability. This is why I trust WhatsApp reminders for the stuff I genuinely cannot afford to miss, and why Mursa was built with WhatsApp as its transport layer rather than a native app with its own push infrastructure.