Real problems, and the code that solves them
Real problems first, then the code that solves them. Each one is ordinary code that lives in your repository, shown here in TypeScript: Palumb calls it, does what it returns, and calls back for the next step.
-
Sequencing · a wait, then a delay
How do you follow an order all the way to feedback?
Confirmation on the spot, tracking when the parcel actually ships, and a feedback request three days after that. The middle step waits for a real event instead of guessing.
Read it with the code →
-
Cancellation · a wait that stops the send
How do you chase an unpaid invoice without chasing someone who paid?
A reminder, then a wait, then a final notice, and the run ends the moment the payment lands, at any point in between.
Read it with the code →
-
Waiting on an event · timeouts
How do you nudge a user who signed up and never came back?
Three messages at widening intervals, and any sign of life ends the sequence. The waiting is driven by the user, not by the clock.
Read it with the code →
-
Cancellation · the warning that stops itself
How do you warn before a trial ends, and stop the moment they upgrade?
Eleven quiet days, then three warnings at closing intervals. An upgrade at any point ends the sequence, and nothing is left scheduled to cancel.
Read it with the code →
-
Batching · closes on the calendar
How do you send a weekly summary on a fixed schedule?
One run stays open for the week and gathers each deadline as your app reports it. Monday it sends one summary, then opens next week's window itself.
Read it with the code →
-
Batching · opens on the first event
How do you stop sending one email per comment?
The first comment opens a five minute window and the ones after it land in the same run. One email goes out with the lot.
Read it with the code →
Everyone who joins gets in, and it costs nothing. Your invite goes out when the beta opens.
Join the beta