Alarminder

Help, for the things that come back around

Alarminder
user guide

The bank errand on the last day of the month, the filter you swap every two months, a family birthday - register anything that comes back around and is easy to forget. The alarm starts on the lead day you chose and stays in your status bar for the whole run.

Find your way around

Five tabs. Everything that comes back around.

Download Alarminder

No accountNo adsWorks offline
  • It doesn't ring once and vanishIt sits in the status bar from the lead day through the due day. Swiping won't clear it — only [Complete] does.
  • Things you replace and renewCar servicing, water filters, insurance renewals, health checkups — anything on a cycle gets its own home in the Cycles tab.
  • Month ends and lunar datesFeb 28/29, 30-day months and lunar birthdays are worked out for you. Time zone follows your device.
  • Everything stays on your phoneNo server, no account, and the app never even requests internet permission. The privacy policy is linked at the foot of this page.

Do this first

To save battery, Android delays or cancels background work for apps you haven't opened in a while. When it does, there is no error message — the alarm simply never arrives. Alarms are the whole point of this app, so the three permissions below need to be on.

Three permissions — miss one and it fails silently

The first time you open the app you'll see “For alarms to ring on time”. Tap Allow and it walks you through them in order. If you skipped it, turn them on any time from Settings › Alarm status. When all three rows read Granted you're set. If any row says Needs permission, tap the Settings › on that row.

  1. Notification permission Needed to show schedules in the status bar. Without it, nothing is displayed at all. If the system has stopped asking, use Open settings on that row and turn it on in your device's notification settings.
  2. Exact alarms Makes them ring on time even while the device is asleep. Without this, alarms slip by minutes or even hours.
  3. Battery optimization exception Keeps alarms alive even on days you don't open the app. Set it to “Unrestricted” in the list.

Battery opens a list, not a dialog

Unlike the other two, the battery exception does not open a dialog about this app alone. Settings › Alarm status › Battery optimization exception › Settings › opens your device's full battery optimization list. Find Alarminder in that list yourself and switch it to “Unrestricted” (“Don't optimize” on some devices). If you can't see the app, change the dropdown at the top from Not optimized to All apps.

Samsung (One UI) needs one more step

One UI runs its own power-saving layer alongside Android's. If you don't open the app for a few days, Samsung reclassifies it as a “sleeping app”, and then alarms are delayed or missed regardless of the battery exception you granted. Removing it from “Sleeping apps” is not enough. It falls back in after a few unused days.

  1. Open Settings › Battery. (On some devices: Settings › Battery and device care › Battery)
  2. Open Background usage limits.
  3. Add Alarminder to the “Never sleeping apps” list.

A tour of the screens

Five tabs along the bottom. Search isn't a tab — it's the magnifier in the Today app bar.

Today

The Today screen: a large focus card reading D-DAY, Aug 30, the Bank tag and the title Bank transfer, with Mark complete and Postpone buttons, and under it an Upcoming list of five schedules carrying D-1, D-4 and D-30 counters.
The Today screen: a large focus card reading D-DAY, Aug 30, the Bank tag and the title Bank transfer, with Mark complete and Postpone buttons, and under it an Upcoming list of five schedules carrying D-1, D-4 and D-30 counters.

The single most urgent item goes into a large focus card. Mark complete is right there, and so is Postpone — which pushes it out by one hour, up to three times per occurrence. Below that: Upcoming (five rows, with More to open the rest of the next 30 days), the missed alerts banner, and Done last week — which is where you Undo a completion you tapped by mistake.

Calendar

The Calendar tab: a month grid where several days carry small coloured dots and today is filled in, a row of category filter pills beneath it, and the selected day's schedule list under that.
The Calendar tab: a month grid where several days carry small coloured dots and today is filled in, a row of category filter pills beneath it, and the selected day's schedule list under that.

A month grid with up to four colored dots a day and a tinted band across the span an alarm is running. Lunar dates sit under the day number on the lunar 1st, the 15th and the last day of the lunar month. Days holding a missed item get a red outline. Swipe left or right to change month, tap Today to come back, or use the ▾ button to jump to any year and month.

Tap a day

The calendar with a day selected: a sheet under the grid lists that day's schedules with tick boxes, above a plus Add schedule for this date button.
The calendar with a day selected: a sheet under the grid lists that day's schedules with tick boxes, above a plus Add schedule for this date button.

That day's list slides up. Tick an item off right there, or use + Add schedule for this date to create a new one with the date already filled in. See all opens the same list as a full sheet. This is also the only screen that still shows a skipped occurrence — the Today screen and the missed-alerts list both hide them. If you skipped something by mistake, find that day here, open the item and undo it from the detail screen.

Events

The Events tab: birthdays and anniversaries grouped by this month and Later, each with a D-day counter.
The Events tab: birthdays and anniversaries grouped by this month and Later, each with a D-day counter.

Every schedule that repeats Yearly or Yearly (Lunar) is gathered here on its own, whatever category it is in, sorted by what's coming up. There is no separate “event” to create — this tab is a view over your schedules, and + just opens the normal schedule form with the Anniversary category pre-picked. Upcoming milestones counts days lived for schedules in the Birthday category, every 1,000 days, and appears within two weeks of the date.

Missed alerts

The missed alerts list: period and category filter pills at the top, then overdue schedules each carrying a Skip and a Complete button.
The missed alerts list: period and category filter pills at the top, then overdue schedules each carrying a Skip and a Complete button.

Anything past its due date that was never completed or skipped collects here. Tap the banner on the Today screen to open the list — that banner is the only way in. Filter by period (last 7 days, last 30 days, all) and by category, then use Complete or Skip on each row. Skip all on that banner clears the whole backlog in one tap, but it files everything as skipped — not completed. Anything you actually did is worth completing individually first, so it lands in the history.

Creating a schedule · repeat rules

Start from Add schedule on the Today screen, or pick a day in the Calendar and use + Add schedule for this date.

Five categories — plus your own

The new-schedule form opened as a Cycle: the title field, the General / Work / Important pills with a + at the end, the start date and All day rows, and the repeat buttons with Monthly selected.
The new-schedule form opened as a Cycle: the title field, the General / Work / Important pills with a + at the end, the start date and All day rows, and the repeat buttons with Monthly selected.

The category determines the color and the notification channel. Colors are editable under Settings › Display › Category colors. The type decides which categories you can pick. Cycle offers General, Work and Important; Anniversary offers Birthday and Anniversary. One-time doesn't ask at all — an ordinary one-off shouldn't need filing — and saves as General.

Seven repeat rules

The form shows six buttons, not seven. Monthly stands for two rules and asks which one after you tap it — Specific day or Last day. The type decides which repeats you can pick. Cycle offers None, Every N days, Weekly, Every N weeks, Monthly and Every N months. Anniversary offers None, Yearly and Every N days. One-time doesn't ask. Yearly belongs to the Anniversary type — if the same yearly thing could be made from two types, it would be unclear which tab it shows up in.

Anchor — should a late completion push the next one back?

Only applies to Every N months, and it changes the outcome a lot. Check the “This is how it repeats” summary and the Next occurrence line at the bottom of the edit screen before saving. A wrong rule shows up there immediately.

Complete, skip, undo

A schedule's detail screen: its repeat rule and next occurrence at the top, and the completion history listed underneath.
A schedule's detail screen: its repeat rule and next occurrence at the top, and the completion history listed underneath.

A skipped occurrence disappears from the Today screen and from the missed-alerts list. The Calendar is the only screen that still shows it, so that is where you go to take a skip back. Deleting a schedule also deletes its alarm settings and completion history, and that can't be recovered. The confirmation tells you how many occurrences and history rows go with it — read that line before you confirm.

  1. Mark complete — records this occurrence as done and creates the next one. It goes into the completion history.
  2. Skip — passes on this occurrence only. The following ones continue as normal.
  3. Undo — reverses what you just did, from Done last week on the Today screen or from the completion history on the detail screen.

Alarm settings and the persistent alert

Alarms live further down the same screen — tap the collapsed alarm row to open it. One schedule can carry several alarms.

From when · how often · at what time

The alarm settings screen: lead-time buttons, alarm frequency, the list of alarm times, the display switches, and a fire schedule preview listing the exact dates and times the alarm will go off.
The alarm settings screen: lead-time buttons, alarm frequency, the list of alarm times, the display switches, and a fire schedule preview listing the exact dates and times the alarm will go off.

When to start alerting (lead time) — how many days before the due date. Choose Same day / 1 day / 3 days / 7 days before, or tap Custom and enter anything from 0 to 60 days. Alarm frequency — Once on start day or Every day until due. With a Same day lead time there is nothing to choose, so the section is disabled automatically.

Read the fire schedule preview before saving

The app lists exactly when it will fire — lines like 10/30 09:00 alarm. If you turned on persistent display, the … persistent in status bar through … span is shown too. If you see “No occurrences scheduled within the next 60 days”, the repeat rule is wrong. Catch it here, before you save.

The alert that won't clear is not a bug

The persistent alert sitting in the notification shade — Alarminder, Ongoing, four schedules in progress, most urgent Bank transfer today, with an Open app button — above the Today screen it belongs to.
The persistent alert sitting in the notification shade — Alarminder, Ongoing, four schedules in progress, most urgent Bank transfer today, with an Open app button — above the Today screen it belongs to.

The persistent alert is built so a swipe can't dismiss it. It survives “Clear all”. Tapping [Complete] removes it on the spot. That's deliberate: the whole requirement is “stay visible for the entire alarm period”. An alert that rings once is gone the moment your thumb slips — and that is exactly where things get forgotten.

Buttons on the notification

As the date approaches, it isn't just the number that changes — the color and the wording change with it. Turn on Settings › Defaults › Stay in the status bar even on days with no alarm and a notice holds the spot even on days with no alarms at all. The icon never disappears, so you never have to wonder whether the app died.

Sound · vibration · Do Not Disturb

Android 8 and later manage sound and vibration per notification channel, not per app. This app splits them into four. The four don't start out alike. Important schedules is the loudest — heads-up, vibration, and the notification light on devices that have one. General and Anniversaries & birthdays vibrate. Work is the quiet one: no vibration to begin with, because it's the category that fires most often. All of it is adjustable per channel.

Cycles — things you replace and renew

A schedule remembers a date. A cycle remembers an interval and a history. Engine oil, water filters, insurance renewals, health checkups — anything you have to redo on a cycle, where “when did I last do it?” matters — lives here.

The list

The Cycles tab: tracked items listed one per line with their next due date, under a header counting how many are being managed and how many are due soon.
The Cycles tab: tracked items listed one per line with their next due date, under a header counting how many are being managed and how many are due soon.

Every managed item on one line with its next due date. The header reads Managing N · N due soon, and you can sort by due date · by name · recently updated or narrow the list with the Due soon only filter.

Adding one

Adding a cycle item: the schedule editor opened as a Cycle. A title field, the General / Work / Important pills with a + at the end, the start date and All day rows.
Adding a cycle item: the schedule editor opened as a Cycle. A title field, the General / Work / Important pills with a + at the end, the start date and All day rows.

Tap + at the bottom right and the schedule editor opens as a Cycle — not a separate little form, the same screen an ordinary schedule uses. Things you replace or renew are nearly always Every N months — set the interval to 1–12 months and choose whether the next one is counted from the calendar date or from the completion day. Counted from completion, renewing late pushes the next one back by the same amount.

  1. Title — e.g. Car engine oil
  2. Category — General, Work, Important, and “+” to make your own
  3. Repeat — None · Every N days · Weekly · Every N weeks · Monthly · Every N months
  4. Icon — ten emoji are offered; … opens all thirty
  5. Start date — the next due date is counted from here

Renew it, keep the history

A cycle item opened: its current status and next due date at the top, a Mark renewed button, and the renewal history listed underneath as previous status arrow new status.
A cycle item opened: its current status and next due date at the top, a Mark renewed button, and the renewal history listed underneath as previous status arrow new status.

Once you've actually replaced or renewed it, tap Mark renewed and record the new status (e.g. 50,000 miles) and a note. That entry goes into the renewal history as previous status → new status, and the next due date is recounted as the day you recorded it plus one cycle — so renewing late moves the whole run along with it. Tap a history row to unfold the note and its edit and delete buttons.

You create the categories

There used to be a fixed list — Vehicle, Home, Health, Documents… It was never going to fit everyone, so now you make your own. Tap the “+” at the end of the category row and type a name. Names can be 12 characters and you get six slots. Colors are editable under Settings › Display › Category colors.

When alarms don't ring — self-diagnosis

There's a diagnostic screen inside the app. Open Settings › Alarm status and read it from the top down. Leaving the app and coming back re-reads every row on its own — nothing else in the app refreshes them while you're looking.

How to read the six rows

The Reschedule now button sits in this same card, between the three permissions and the three readings. The battery row is the one reading the app cannot verify. Android no longer lets it check, so it asks you instead — “Did you allow Unrestricted?” — the moment you return from the battery list. Answer I allowed it when you didn't, and this row will read Granted while alarms keep getting dropped.

The “Reschedule now” button

It runs the same recovery path as a device reboot, once, and rebuilds every booking. Nothing is erased. Use it when: Alarm booking recovers on its own through four routes — boot completed, app foreground, right after a notification is handled, and the daily midnight job. This button just runs that path manually one more time.

  1. an alarm failed to ring;
  2. you've just imported a backup (and saw “failed to reschedule alarms”);
  3. Scheduled alarms reads 0.

If it still fails, in order

Check whether a notification channel is off — Settings › Apps › Alarminder › Notifications, all four channels.

  1. Check whether the schedule is inactive — inactive schedules aren't booked at all. They carry an Inactive tag in search results.
  2. Check the fire schedule preview — “No occurrences scheduled within the next 60 days” means the repeat rule is wrong.
  3. Reboot the device, then confirm in Settings › Alarm status that the alarms were booked again.
  4. If it still reproduces, get in touch with your device model, Android version and what the diagnostic screen shows.

Moving your data, and display settings

All your data lives on this phone only. There is no account and no server. So uninstalling the app takes the data with it, and changing phones means moving it yourself.

Export & import JSON

The Settings screen: the Defaults section with default alarm time and lead days, the Data section with Export and Import JSON, and the Display section starting with language, theme and time format.
The Settings screen: the Defaults section with default alarm time and lead days, the Data section with Export and Import JSON, and the Display section starting with language, theme and time format.

Backup is one thing only: a file you export yourself. Nothing is uploaded anywhere automatically. The confirmation screen tells you when the file was exported and how many rows it holds. Read it before tapping. If the import fails, your existing data is left untouched.

  1. Export JSON — writes a file named like mssecretary-backup-20260827-143000.json and opens the share sheet. Send it to a drive, an email or a messenger and keep it.
  2. Import JSON — pick a file, then choose Merge or Replace.

Changing phones — in order

Delete the old app last. It's only safe once the new phone has actually read the file and you've seen the alarms booked.

  1. On the old phone, use Settings › Data › Export JSON to create the file.
  2. Put that file somewhere the new phone can open (drive, email, USB …).
  3. Install the app on the new phone and turn on the three permissions first.
  4. Use Settings › Data › Import JSON, pick the file and import with Replace.
  5. Tap Settings › Alarm status › Reschedule now once to book the alarms again.
  6. Confirm Scheduled alarms reads 1 or more, and only then delete the app on the old phone.

Display — language, theme and time format

The Time format sheet open over the Settings screen: three choices, Device setting, 24-hour and AM/PM, with Device setting selected.
The Time format sheet open over the Settings screen: three choices, Device setting, 24-hour and AM/PM, with Device setting selected.

Language — the 26 languages plus Follow device language. It changes the status bar wording too, not just the screens.

  1. Theme — White · Black · Follow system, and it opens on Black. “Follow system” switches with your device's dark mode setting.
  2. Time format — Device setting · 24-hour · AM/PM. “Device setting” follows your phone's 24-hour switch. Changing it also changes the times written into status bar alerts.
  3. Use device color — where supported, the system theme color becomes the accent color.
  4. Show the guide again — reopens the four-slide introduction from your first launch. Tapping it does not bring the permission notice back with it.
  5. Category colors — recolor each of the five from twelve swatches. A color that doesn't stand out from the background is refused with a message rather than applied, and Reset to default (one) or Reset all to default puts them back.

Languages and time zone

The app ships in 26 languages. Not just the screens — status bar wording, notification buttons and even the notification channel names shown under Settings › Apps › Alarminder › Notifications are translated. Bengali · Czech · Dutch · English · French · German · Greek · Hindi · Hungarian · Indonesian · Italian · Japanese · Korean · Lao · Polish · Portuguese · Romanian · Russian · Simplified Chinese · Spanish · Swedish · Tamil · Thai · Turkish · Ukrainian · Vietnamese

Help — this page, from inside the app

Settings › Help › Open help opens this page in an in-app browser. It sits on top of the app, and Back returns you to where you were. This page is in English only. Machine translation mangles the words this app leans on — Cycles, persistent alert — so there is one carefully written page rather than 26 rough ones.

Frequently asked questions

Short answers to what comes up most. Each one points at the section that goes into it properly. If none of these help, email me.

Frequently asked questions

  1. The alert won't swipe away. Is something broken? — No. It is built that way, and it survives Clear all too. Tap [Complete] on the notification and it goes.
  2. Does the app need an internet connection? — No. It never requests the internet permission and nothing leaves the device. Opening this help page is the only step that uses your browser.
  3. I moved to a new phone and the alarms stopped. — Importing a backup does not book alarms by itself. Open Settings › Alarm status, tap Reschedule now, and check that Scheduled alarms reads 1 or more.
  4. I skipped an occurrence by mistake. — The Calendar is the only screen that still shows a skipped occurrence, so undo it there.
  5. One category never makes a sound. — Android 8 and later manage sound per notification channel. The Work channel starts with no vibration because it fires most often. Change it per channel.
  6. The battery row reads Granted but alarms are still dropped. — Android no longer lets the app check that one, so it takes your word for it. Open the battery list again and confirm Unrestricted is really on.
  7. Is this page available in my language? — There is one English page; use your browser's translate menu. The app itself is in 26 languages.

Keep recurring tasks from slipping through.

Set it once, get a persistent alert, and keep the completion history on your device.

No accountNo adsWorks offline