One more edge worth handling: compute the send time in the client's IANA time zone at send time, not from a cached UTC offset. Daylight saving shifts silently break follow-ups scheduled weeks ahead. Running the schedule in UTC and converting at the last step keeps it stable.
Rishabh Mishra