Two anchor modes — calendar, or the last time you did it.
Rent is due on the 1st — FromScheduledFire. The oil change is six months from the last time you actually did it — FromCompletion. Pick per series; the scheduler does the rest.
Roterly is a recurring-task ledger — not another to-do app. You define a series, it schedules the next fire, and every completion is written down so next time you can read the log and remember what you actually did.
Three first-class concepts. A Series is the definition. An Occurrence is a scheduled fire. A Completion is the log entry you'll read next year.
Rent is due on the 1st — FromScheduledFire. The oil change is six months from the last time you actually did it — FromCompletion. Pick per series; the scheduler does the rest.
Tap mark done, leave a note — "brand, amount, outcome" — and the entry lives forever. Next year when you're asking what oil did I use?, the log already knows.
Per-user lead-time. Per-series channel overrides. Email and Telegram ship today; the adapter surface is pluggable, so new channels slot in without rewriting the core.
A two-level hierarchy that doesn't get in the way — Home › Car, Work › Invoices — with many-to-many tags for the cross-cutting concerns. Color-coded, quietly.
Three sizes. Free is, well, free — the other two are invite-only while the ledger is young. Ask and we'll open the gate by hand. Pricing arrives when real billing does.
The things you do on purpose
deserve a place to live.