{
  "id": 15658569,
  "title": "How to Guarantee Timezone-Aware Recurring User Reminder Delivery in Node.js",
  "url": "https://urgent.news/2026/10/19/how-to-guarantee-timezone-aware-recurring-user-reminder-delivery-in",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-19T21:44:21.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/horatiofox1281/how-to-guarantee-timezone-aware-recurring-user-reminder-delivery-in-nodejs-4f1p"
  },
  "original_language": "en",
  "account": "Node.js application developers can guarantee accurate delivery of recurring reminders, even when time zones change. To achieve this, store the user's local time rule and IANA time zone, then derive a UTC occurrence for the reminder. Hand this occurrence to an idempotent queue job, ensuring the delivery is recoverable and tied to a specific boundary.\n\nThe contract consists of three fields: an IANA time zone, a local wall-clock time, and a cadence (daily or weekly). The queue carries only one derived occurrence. By using a UTC timestamp as a reference point, the system can handle daylight-saving changes without shifting the reminder time.\n\nWhen implementing timezone-aware recurring reminders in Node.js, store the rule, including the user-supplied time zone identifier. Time zone rules can change over time, so rebuilding future occurrences from the civil-time promise would make old derived data the source of truth. Instead, turn each occurrence into an idempotent job. The initial scheduler owns the durability, ensuring each reminder has one occurrence at a specific instant. A separate worker then manages the actual delivery.\n\nIn cases where local times may not exist or occur twice (e.g., during daylight-saving transitions), the system must have a clear policy to handle these situations. The recommended approach is to move nonexistent wall times forward to the next real instant and choose the earlier instant for repeated wall times. This trade-off ensures deterministic results, even when local clocks exhibit ambiguity. Developers should encode and test this specific policy within their product rather than relying on the server's inherent behavior.",
  "summary": "A marketplace reminder is a timezone-aware recurring user promise, and a rate-limited worker pool may be delayed, restarted, or deliberately drained. TL;DR: store the user's local-time rule and IANA time zone, derive one UTC occurrence, then hand that occurrence to an idempotent queue job. That preserves daily and weekly reminders through daylight-saving changes while giving workers a recoverable…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}