Nudge: Reminders That Keep Reminding
Nudge is an Android app for the repeating reminders that matter: water every ninety minutes, medication at eight, two, and eight.
I built it native, with per-reminder schedules, blackout windows, and intensity levels that can get through Do Not Disturb.
The part I am proud of is the restraint: most of the work went into the rules that decide when NOT to fire.
Why it exists
Phone reminders are built for appointments. They fire once, you swipe them away, and whether the thing actually happened afterwards is not the phone’s problem. The things I kept dropping are not appointments. They repeat all day and they matter: the water you meant to drink, the medication that has to happen at eight, two, and eight.
An app that keeps reminding only earns that right by knowing when to stay quiet, so every nudge carries its own rules about when to leave you alone, not just when to speak up. It runs the small repeating rhythms of my day now, the ones that only happen because something keeps asking.
What it does
Two ways to repeat
On an interval, like every ninety minutes, or at fixed times, like eight, two, and eight. Each reminder carries its own schedule instead of sharing one global setting.
Quiet hours that are genuinely quiet
Blackout windows are set per reminder, so the water reminder stops at bedtime while the medication reminder still gets through. A window can even wrap past midnight.
Loud when it has to be
Three intensity levels, plus sound and vibration settings per reminder. The critical ones can get through Do Not Disturb, because some reminders are not optional.
A record, not just a ping
A trackable nudge counts its completions, and its card shows how many times it happened today. The question stops being whether you were reminded and becomes whether it was done.
Always on, if you mean it
A reminder can run around the clock until you turn it off, with no active window at all, and can even be set to ignore blackouts. Built for the things that do not respect bedtime.
Only at a place
A nudge can be tied to a place, staying silent until you arrive and firing on its normal schedule while you are there. It can stop the moment you leave, or keep going until you deal with it.
How it works
Every reminder feeds one pure calculator that works out the next fire time from its repeat rule, its active window, and its blackouts. That result becomes an exact alarm. When the alarm fires, the app re-checks everything before making a sound: is the reminder still on, is it inside a quiet window, is it gated on a place you are not at. Only then does it post, and then it schedules the next one.
Reboots, timezone changes, and app updates each trigger a full reschedule, so a nudge survives the things phones do to background apps. Done and Snooze sit right on the notification, and marking one done writes a completion record. The place gating runs entirely on the phone, and the firing engine deliberately never moved to a server, because a medication alarm has to fire even when nothing else is reachable.