Part Four: Managing Your Work · Chapter 12

Recurring Tasks

Some things need to happen on a schedule — not just once, but again and again. Paying rent. Refilling a prescription. Checking the stock tank. Recurring tasks are ATEND's answer to that layer of life: a task that generates itself automatically, surfaces at the right time, and gets out of your head between occurrences.

What a recurring task is

A recurring task is built from two records. The template holds the permanent settings — the title, the recurrence pattern, the anchor mode, the lead time. It never appears in the Launchpad and is never completed directly. The instance is the concrete occurrence for a specific due date. It behaves exactly like any other active task, is scored by the fit score, appears in the Now list, and is what you actually complete.

At any point in time, exactly one instance per template is either active or pending in your task pool. There's never a pile-up. When you complete an instance, the next one is generated automatically from the template. When an instance is missed, it's archived and the next one is generated anyway — the recurrence doesn't skip or double.


Setting up a recurring task

Recurring tasks are created through the same inbox processing flow as regular tasks — choose "Task" as the fate, fill in the eight standard fields, then a ninth step appears: "How often does this repeat?"

The frequency options are presented in plain language — you never see recurrence rule syntax:

{["Every day","Every weekday (Mon–Fri)","Every week — on [day picker]", "Every two weeks — on [day picker]","Every month — on the 1st / 15th / last day / specific date", "Every quarter","Every year","Custom — every N days / weeks / months"].map(() => null)}
Every day
Every weekday (Mon–Fri)
Every week — on [day picker]
Every two weeks — on [day picker]
Every month — on the 1st / 15th / last day / date
Every quarter
Every year
Custom — every [N] days / weeks / months

After frequency, two more questions: anchor mode and lead time. These are the most important decisions in recurring task setup, and they're worth understanding.


Anchor mode — calendar or completion

The anchor mode question is: "When does the next one come due — based on the calendar date, or based on when you last completed it?"

Calendar-anchored
Next due date advances by one interval from the original anchor date, regardless of when the current instance was completed.
Rent due the 1st of every month. Pay it on the 30th — next due May 1st, not April 29th. Miss it — next still due May 1st.

Use for: bills, medication refills with fixed schedules, registration renewals, anything tied to a specific calendar position.
Completion-anchored
Next due date is computed from the actual completion date plus the interval — the interval starts fresh from when you finished.
Oil change every 90 days. Completed March 15 → next due June 13. Completed late on March 30 → next due June 28.

Use for: oil changes, equipment inspections, periodic reviews, anything where the interval from last completion matters more than the calendar position.

When in doubt, use calendar-anchored. It's the right choice for most recurring tasks. Completion-anchored is specifically for maintenance tasks where "90 days since last completion" is what actually matters — not "the 15th of every month."


Lead time — when it appears

Lead time is how many days before the due date the task becomes visible in the Launchpad. Before the lead time window opens, the instance exists in the database with a status of pending but is completely invisible — it doesn't affect your task list, your fit score, or anything else. On the lead time date, the status shifts to active and the task enters the pool like any other.

The default is three days. You set lead time per task during setup. Some rough guidelines:

Task typeSuggested lead time
Daily habits0 days — due date and active date are the same
Weekly recurring1–2 days
Monthly bills and obligations3–7 days
Quarterly tasks14 days
Annual renewals30 days

Getting lead time right matters for two reasons. Too short and you might miss the task or feel rushed. Too long and the task clutters your active pool for weeks before it's actually relevant. "Annual vehicle registration" appearing 30 days out is useful — it gives you time to gather the paperwork, budget the fee, and handle it without urgency. Appearing 3 days out might already be too late if the DMV lines are long.

Recurring task lifecycle — calendar anchor
Template created
Instance generated with status = pending · invisible to user
Lead time opens
status → active · enters fit score pool · may appear in Now list
e.g. due_date − 7 days for a monthly bill
Due date
Urgency boost escalates · surfaces at top of Now list
Completed before grace period
Done ✓
Next instance generated · due date = next RRULE occurrence
Due date + grace period passes
Missed
Instance archived · one notification fires · next instance generated anyway
FIG. 12.1 The recurring task lifecycle. A template generates one instance at a time. The instance is invisible until its lead time window opens, then active until it's completed or missed. Either way, the next instance is generated immediately — the recurrence never stops unless you stop it.

What happens when you miss one

When a recurring task instance passes its due date plus its grace period without being completed, it's marked missed and moved to the archive. The system sends one notification — not repeated: "[Task] was due [N] days ago. The next one is due [date]."

The next instance is generated immediately, on the correct next date per the recurrence pattern. Nothing about the recurrence is disrupted. In calendar-anchor mode, the missed instance doesn't shift the future schedule at all — rent due May 1st is still due May 1st whether you paid April's on time or not.

A missed instance can be retroactively marked done from the archive if you actually did the thing but forgot to log it. This is common for tasks that happen automatically in the background — a bill on autopay, a prescription that auto-refills. Mark it done; the archive gets corrected and your completion record stays honest.

Grace periods

The grace period is set automatically based on the task's stakes — you don't set it yourself. Relational and functional tasks get a 1-day grace period; the system treats them as genuinely time-sensitive. Personal tasks get 3 days. This means a task affecting someone else is marked missed quickly, while a task only affecting you has a little more room before it's archived.


Editing a recurring task

From the task detail view, tap the recurrence indicator to open recurrence settings. Any change you make prompts a decision:

This instance only
The change applies to the current occurrence only. The template and all future instances are unaffected. Use this when a one-time adjustment is needed — the payment is due on the 3rd this month instead of the 1st because of a banking holiday.
All future instances
The change updates the template and applies to every instance generated from now on. The current active instance, if any, is unaffected. Use this when something has genuinely changed — the prescription is now a different medication and the title needs updating, or you want to switch from a 30-day lead time to a 14-day one.

This is the same two-option convention used by Google Calendar for recurring events — most people find it immediately intuitive.

Changing anchor mode

Switching anchor mode from calendar to completion (or vice versa) applies only to future instances — it changes how the next due date is computed after the current instance is completed. The current instance's due date doesn't change. This is "all future instances" territory, not "this instance only."


Stopping a recurrence

From the task detail view → recurrence indicator → "Stop repeating." Two options:

After this instance
The current instance is completed normally — log it, close it, done. No future instances are generated. The template is archived. Use this when the task is wrapping up naturally — the last water heater service before you replace the unit.
Stop now
The current instance is deleted immediately. No future instances are generated. The template is archived. Completed past instances remain in the archive as a record. Use this when the task is no longer relevant and there's nothing to wrap up — you've cancelled the subscription, the situation no longer exists.

Viewing and managing all recurring tasks

The task list view has a "Recurring" filter that shows all your active recurring templates — their titles, next due dates, lead times, and the status of their current instance. This is a management view, not a daily-use view. You'd come here to audit what you have, check when things are next due, or make bulk changes to lead times or frequencies.

From the recurring list, you can tap into any template's settings directly — changing frequency, anchor mode, lead time, or stopping the recurrence entirely. You can also see the full history of past instances: which were completed, which were missed, and when.

The recurring task list is worth reviewing once in a while — not frequently, but periodically. Over time, recurring tasks accumulate. Some stop being relevant. Some need their lead times adjusted as your life changes. A monthly glance at what's in the recurring pool keeps it clean and honest.