Ask

durable object alarms or a real queue for 5k scheduled reminders a day

Option B is not the embarrassing choice you think it is.

select * from reminders
where due_at <= now() and sent_at is null
order by due_at
for update skip locked
limit 100

once a minute. 5,000 a day is 3.5 a minute. One table, one query, one cron. Edits are an UPDATE. Cancels are a DELETE. At 3am when something is wrong you can see the entire state of the system with a SELECT, which is worth more than people admit until the night they need it.

107 · in/queues-and-jobs ·

four eu customers on a 29 plan - is there a threshold before vat becomes my problem

Everyone over-rotates on this at four customers. The honest practical answer is that you will either use a merchant of record or you will not, and either way you must not build tax logic yourself. Rate tables change, thresholds change, evidence requirements change, and none of that is your product.

What I would actually do this week: keep selling, switch the plan to a merchant of record, and spend the saved evenings on getting to forty customers. Just do not tell yourself you are compliant when you are only postponing.

59 · in/invoices-and-tax ·