Year

2026

Healthcare · Therapy SaaS

Duration

12+

Tick-loop worker

One tsx loop runs four jobs per tick — reminder scan, renewal scan, no-show sweep, notification dispatch. NotificationEvent rows carry unique dedupeKeys for safe retries.

TRS overview

The platform doesn't run a cron daemon. A single Node tick loop runs every WORKER_TICK_MS (default 60s) and executes four idempotent jobs in sequence. Notification fan-out goes through a NotificationEvent row with a unique dedupeKey so retries can't double-send. Email goes through Nodemailer with a console fallback for local dev. Same image, same env, same idempotent shape — it just runs forever.

Mechanics
  • reminder-scan — surfaces upcoming sessions.
  • renewal-scan — checks subscription windows + payment evidence.
  • no-show-sweep — auto-ends abandoned sessions.
  • notification-dispatch — drains pending NotificationEvents.
  • Nodemailer with console fallback for local dev.
Tick-loop schedule — four jobs per cycle, one image.
Tick-loop schedule — four jobs per cycle, one image.
More deep dives

Got something
this size?

Big ambitions, we match the energy. Drop a brief — reply within one working day.