Blog
Feature
November 15, 20257 min

Recurring reminders — the hidden complexity of recurrence rules

"Add a reminder every Tuesday." Easy to say. Much less simple to implement.

Recurrence Rules

TAMSIV supports four types: daily, weekly, monthly, custom. The simple case takes 10 minutes. The complex case ("the last Friday of each month") takes days.

The "31st of every month" Problem

February doesn't have 31 days. I chose automatic adjustment to the last day of the month. This is what the user intuitively expects.

Hybrid Storage

The recurrence rule is stored on the parent event. Occurrences are generated on demand. When a reminder is converted into a calendar event, a concrete occurrence is created in the database.

The UX Challenge

How to present complex rules without overwhelming the user? A progressive selector: 4 simple options by default, advanced panel as an option. Simple by default, powerful as an option. The casual user should never feel lost. The advanced user should never feel limited.