Payments & Email
Payments, transactional and marketing email.
The money-and-messages layer: taking payments, and the two kinds of email every real product needs — transactional and lifecycle.
Overview
I split email deliberately. Transactional email (receipts, password resets, magic links) needs to be reliable and developer-friendly. Marketing and lifecycle email (onboarding sequences, announcements) is a different job with a different tool. Payments I don't shop around for — there's a default and I use it.
Tools
Stripe
Payments — the default for anything that takes money. Subscriptions, checkout, the works.
Resend
Transactional email with a clean DX, React Email friendly. My default for system email.
Loops
Marketing and lifecycle email — onboarding sequences and broadcasts.
My pick
Stripe for payments, no debate. For email I pair Resend for transactional (it plays nicely with React Email components) with Loops when the project needs real lifecycle marketing. Keeping the two email jobs on the right tool stops me from abusing a transactional sender for campaigns.