How it works

add. set cadence.
do it. see the dots.

Four moves. No onboarding wizard, no setup quiz, no "let's get to know you." You know yourself fine.

01
daily
read 20 min
2h ago
M
T
W
T
F
S
S

Add the habit

Plain text. A verb and a thing. Skip the categories.

02
m·w·f
gym
yesterday
M
T
W
T
F
S
S

Set the cadence

How often, which days, how many times. Nag does the math.

03
nag · 2 due now 9:00 AM
still waiting.
vitamins · read 20 min

Get nagged

Scheduled habits trigger a notification at their time. Multiple habits in the same slot? One consolidated nag. Already checked in or skipped? Silence.

04
last 4 weeks
compliance · 86%

See the truth

Dots show what you actually did. Not what you meant to.

Fast path

Long-press to check in.

Don't open the habit. Don't tap through. Press and hold any tile to log a check-in right there on the home board. Haptic tick, dot flips, you're done. Two seconds, total.

  • Long-press for an instant check-in
  • Long-press again to undo it
  • Tap once to drill in & see detail / skip
daily
read 20 min
checking in…
M
T
W
T
F
S
S
hold → checked in
Anatomy

A tile, decoded.

Every habit on the home board is a tile. The structure is always the same — icon, cadence, name, last check-in, week strip — but what's in each slot changes with the habit. Five examples:

daily
read 20 min
2h ago
M
T
W
T
F
S
S
01 · Daily

Simple text cadence

A daily habit with no schedule. Cadence label is just the word; you check in when you do it.

TODAY
drink water
3h ago
M
T
W
T
F
S
S
02 · Multi-per-day

Today's slots, as dots

3× a day, two done. The dot row top-right is today's progress; the week strip is the long view.

⏰ 9:00 am
vitamins
due in 12 min
M
T
W
T
F
S
S
03 · Scheduled

Time-attached, will notify

A clock + time means a notification fires at that moment. The orange cadence label is the tell.

m·w·f
gym
monday
M
T
W
T
F
S
S
04 · The week, in detail

Every day-state, visible

Filled = done. Slash = missed. Tiny dot = off-day. Orange ring = today. No streaks; just the record.

3× / mo
call mum
2 weeks ago
05 · Monthly

A whole month, in one strip

3× this month. Dots top-right track the goal; the long strip below shows every day's check-ins at a glance.

Cadence types

Six ways to schedule a habit.

Pick a rhythm, then optionally attach a time of day. Only time-attached habits get a notification — everything else just sits on the home board waiting for you to check in.

Daily

Every day

For the non-negotiables. Add a time to make it scheduled, or leave it open and just check in when you do it.

Multi-per-day

Several times a day

Drink water 3×. Stretch every 4 hours. Each slot has its own check-in; today's tile shows a dot per slot, top-right.

Weekly

X times per week

Flexible — pick any day, just hit the count.

Specific weekdays

M·W·F (or whatever)

Lock it to certain days. Other days are off — not misses.

Monthly

N times a month

Bills, backups, calling people you love. No specific day or time — the tile shows a long strip with every check-in this month, and dots top-right track your goal count.

Missed

Forgot. Didn't get to it.

A scheduled slot the time passed without a check-in. Nag counts it against your compliance and the day shows the quiet slash.

Skipped — on purpose

Travelling. Sick. Resting.

Tap skip and (optionally) jot a reason. Notifications for that slot stop. Skips are tracked separately from misses — your compliance doesn't punish a planned rest day.

FAQ

Reasonable questions.

Not seeing yours? Email me.

Why didn't I get a notification?

Notifications fire only for habits scheduled at a specific time of day. A "daily" habit with no time attached is yours to check in on whenever — nag won't interrupt you. Add a time to turn it into a scheduled habit and the reminders kick in.

What if I have several things due at the same time?

You get one notification, not five. Nag consolidates anything scheduled for the same time slot into a single nudge, listing the habits in it. Tap to triage; check in or skip each one inline.

What's the difference between skipped and missed?

A miss is a scheduled slot that went past without a check-in — you forgot, or didn't get to it. A skip is deliberate: you tapped skip, optionally jotted a reason ("travelling", "rest day"). Skips silence the rest of that slot's notifications and are tracked separately from misses, so your compliance reflects what you actually intended.

Does the app icon show a badge?

Yes — on your home-screen app icon. The number is how many scheduled slots are currently due and unaddressed. Check in or skip them (long-press the tile, or open the app) and the badge clears. Notifications themselves don't carry the badge — that's a home-screen-only indicator.

Where's the streak counter?

There isn't one. Streaks reward perfect runs and quietly punish the rest, which makes you quit the day after you slip. Nag tracks compliance over weeks and months instead — the real signal that a habit is sticking.

Do I need an account?

No. Nag stores everything locally on your device. There's an optional iCloud backup. That's it. No login screen exists.

Can I sync between devices?

Yes — via iCloud, out of the box. Sign in on your iPad and your habits are there.

Is there an Android version?

Not currently, and no immediate plans. Nag is a one-person project; iOS is what I can do well right now.

How much does it cost?

Nothing. Maybe a one-time "pay me if you want" tip in a later release. No subscriptions ever.

Is it open source?

Not currently — but the data format is documented and you can export everything as JSON or CSV any time.

enough reading.

Free · iOS