← Complevia

Three levels of loud, and a ceiling

Reminders that escalate are not rare. Reminders that escalate only as far as you allowed are, and that cap is the harder half of the problem — because escalation without one is just an app deciding it knows better than you when to shout.

Why one notification is not a reminder

A single notification competes with everything else in the shade. If it arrives while you are mid-task it gets cleared with the same swipe as a shopping app, and the habit it represents is now invisible until tomorrow. The app recorded a prompt; you received nothing.

The fix is not a louder first notification — that is how an app becomes the one you mute. The fix is a second one, delivered differently, only when the first got no answer.

The ladder

Complevia sends prompts on three separate Android notification channels, and moves up a rung each time a prompt goes unanswered inside the habit's time window.

  • Gentle — the app's own chime, ordinary vibration. What you get first, always.
  • Persistent — same chime, markedly heavier vibration pattern. The rung for a phone in a pocket.
  • Alarm — the device's own alarm tone, played on the alarm volume stream rather than the notification stream.

That last detail is the one that took real work. Routing the sound through the alarm stream is what makes a last-resort prompt audible on a phone whose notification volume is low — and on Android 16 it is what keeps escalation working at all, because the system's Notification Cooldown feature lowers the volume of consecutive notifications from the same app for up to two minutes. Alarms are exempt from that cooldown. Without the exemption, an escalating reminder would get quieter with each step instead of louder, which is the exact opposite of the feature.

By default the ladder is spaced across the window: the first follow-up ten minutes after the original prompt, the next twenty minutes after that, both configurable per habit.

The ceiling, which is the actual feature

Every habit carries a prompt style, and you pick it: Soft — gentle nudges, Focused — clear reminders, or Strict — direct prompts. The style is not a starting point the app is free to grow out of. It is a maximum.

  • Choose Soft and every prompt is gentle. The second is gentle, the third is gentle. You will not be woken by an alarm tone no matter how many you ignore.
  • Choose Focused and the ladder climbs to persistent and stops there.
  • Choose Strict and it can reach the alarm tone — because you said so.

Internally this is one line: the level a prompt wants and the level your style permits are computed separately, and the app takes the lower of the two. It is deliberately not possible for a step number to talk its way past your setting, because that comparison is the only path to a channel. Escalating past someone's own choice would be a defect, not a feature.

Later does not escalate, on purpose

Pressing Later snoozes the prompt by 10, 20, 30 or 60 minutes. When it comes back, it comes back at the persistent level — never the alarm — regardless of how many rungs the sequence had already climbed.

The reasoning is short. Pressing Later is an explicit request to be bothered less. Answering that request with something louder punishes you for using the feature, and the predictable result is that you stop using it and start swiping instead — which loses the app the one signal it had that you saw the prompt at all.

Not today ends the sequence for that occurrence entirely and leaves tomorrow untouched.

One boundary worth knowing

A snooze is capped at 23:50 so that a re-prompt never crosses midnight into a day it does not belong to. Pressing Later at 23:45 with a one-hour snooze therefore does not schedule anything — the occurrence simply closes with the day. It is a consequence of windows living inside a single day, which is discussed here along with what it means for overnight routines.

Get Complevia