Automatic Reminder Backup — Never Lose Your Medication Schedule
Your mother is 74 and takes seven medicines a day — at 8 a.m., 1 p.m., 8 p.m., and 10 p.m. It took you two evenings to set up her phone: names, doses, times, reminders that ring exactly on schedule. It has been working for six months.
One Saturday, unexpectedly, a drained phone refuses to turn on. You head to the store, buy a new model, restore from iCloud. You open mojApteczka — empty. No medicines, no reminders.
That scenario shouldn’t have a right to happen in April 2026. And in mojApteczka it doesn’t — thanks to automatic cloud backup of reminders.
A problem that doesn’t look like a problem at first glance
Reminders in health apps are usually treated as “settings” — local configuration on a phone, no different from an alarm clock. As long as the phone works, everything works. As long as the app version stays the same, everything works.
The problem shows up during transitions:
- Changing phones — an iCloud restore doesn’t always carry all app data. SwiftData / Core Data stores in particular can fail to reinitialise cleanly after migration
- Reinstalling the app — removing an iOS app clears its local database but doesn’t always clear scheduled iOS notifications (that’s a separate system layer)
- Updating to a new version — schema migration can occasionally go wrong and the app starts with a blank state
- TestFlight and beta builds — each new beta can in certain conditions wipe the local database while scheduled notifications remain in the system
In all of these cases, a paradox appears: reminders still ring, but the app doesn’t know them. It’s the textbook symptom of “ghost reminders” — alarms scheduled in iOS that no longer have a counterpart in the app’s local store.
Alarm at 8 a.m.: “Bisoprolol”. In the app: nothing. You can’t disable the reminder because you can’t see it. You can’t change the time. You’re in a state of half-trust towards your own phone.
A two-stage defence: cleanup and sync
mojApteczka tackles this with two independent mechanisms that run together every time you open the app. Both are invisible to the user; both take milliseconds.
Stage 1 — local cleanup
The app asks iOS “what mojApteczka notifications do you have scheduled?” — and compares the answer with its local reminder database. Any notification without a matching record is automatically removed from the system.
That eliminates ghosts. If they survived a previous version, a reinstall, a failed migration — they disappear the moment you open the app. No configuration, no prompt, no message.
Stage 2 — cloud sync
Every reminder you add, edit, or delete is sent to the server in the background. When you reopen the app (on the same phone or on an entirely new one), the app does three things simultaneously:
- Fetches cloud state and compares it with the local database
- Recreates locally those reminders that are in the cloud but missing locally
- Uploads to the cloud those that are local but missing in the cloud (created offline, for example)
When a conflict appears (same reminder, different data on each side), the newer modification wins. That’s a simple “last-write-wins” rule, but good enough in practice because conflicts only show up in rare situations (for example, offline edits from multiple devices in parallel).
Once sync completes, the app automatically reschedules iOS notifications so every reminder in the database has a corresponding notification in the system. From the user’s perspective — nothing happens. You open the app, you see your reminders, what should ring rings.
What exactly sits in the backup?
Not every aspect of the app is synced — only what is needed to recreate the schedule. Specifically:
- Medicine name and record identifier
- Assigned cabinet and dependant (when you manage more than one cabinet, for example as a caregiver)
- Repeat pattern — daily, selected weekdays, every N days, one-off
- Dosing times and quantities (with fractional dose support, for example “half a tablet”)
- Active / inactive status — so that after a reinstall you don’t turn reminders you had disabled back on
- Doses taken count and any course-therapy limit (for example an antibiotic for 7 days, day 5 of 7)
After sync the app has the full state of every reminder and can recreate iOS notifications without error — same times, same doses, same dependant context.
Real moments when backup saves the day
Changing a senior’s phone
You help your parent buy a new iPhone because the old model no longer supports iOS updates. You restore from iCloud, install mojApteczka from the App Store, sign in with their account. All seven daily reminders are recreated in seconds. You don’t have to set them up from scratch, you won’t mix up times, you won’t miss a medicine.
Restore after an accident
The phone went into water. You buy a new one and restore. Some apps carry data across, others don’t — but mojApteczka recreates the full schedule, because it keeps it in the cloud independently of iCloud.
TestFlight tester
You’re beta-testing new versions of mojApteczka. Every few days you install a new build. Any of them could theoretically wipe the database — but cloud backup keeps your schedule alive across every update.
App cleanup
You accidentally tapped “Delete App” instead of “Remove from Home Screen”. You reinstall mojApteczka from the App Store. You sign in — everything is back.
Child with a parent’s phone
A child reset the iPhone’s settings. Settings reverted to factory, apps removed. An iCloud restore brings the apps back, but mojApteczka reminders return from the cloud — regardless of the restore’s quality.
Security — GDPR and technical safeguards
Reminder data is stored on AWS servers in the EU (Frankfurt) region. That matters from a GDPR standpoint — your medication data never leaves the European Union.
Transport is TLS-encrypted, and data at rest is encrypted with AWS-managed AES-256. Every sync request requires a valid Cognito token that expires after a set period and is refreshed automatically — which means one user’s data is fully isolated from another’s, even at the infrastructure level.
Signing out ends the session: the local database and the cloud copy are removed together. In line with GDPR, if you choose to leave the service, signing out and uninstalling stops data storage on both sides.
Backup and the rest of the schedule features
Reminder backup sits one layer below the other schedule-related features. When you want to hand off a treatment plan to a caregiver or doctor quickly, you still use schedule export — a separate feature operating on the same state. When you configure times and doses you do it in the reminders section, which has iOS widgets and Siri shortcuts. When you manage dependants you use the caregiver role. Backup is what guarantees that all these features keep their database untouched across phone changes and reinstalls.
If you need formal schedule documentation for a doctor’s visit, the PDF report for the doctor is generated from the same database — but that’s a separate flow, independent from backup.
How to verify the backup works
The simplest — and most invisible — test is to sign in on a second device (iPhone, iPad) with the same mojApteczka account. Schedules appear there within a second. There’s no “syncing” screen, no configuration, nothing to tap. They just show up.
For users who want a full technical description, see the detailed automatic reminder backup feature page — with the two-stage sync mechanism, the list of synced fields, and security details.
Availability
Automatic reminder backup runs in the iOS mobile app. It requires no configuration — it is active from the first sign-in. There is no separate subscription: backup is part of the standard toolset.
Download mojApteczka on the App Store and make sure your medication schedule — or your loved ones’ — survives every phone change, every update, and every data migration.
Questions about reminder backup or other mojApteczka features? Write to us at kontakt@mojapteczka.pl.