We are moving five products off Resend and Mailchimp. Here is the bill.
Five products, five email accounts, north of $2,000 a month, and almost none of it for mail that went out. What the bill was for, what the money did not buy, and what we built instead.
Common Ninja makes five products. In August 2026 they sent their email through five separate accounts on two providers. This is what that cost, and why the number had almost nothing to do with how much mail went out.
The bill
Two providers. One product on Mailchimp, four on Resend. Between them, a little under a quarter of a million contacts, and a combined bill north of $2,000 a month.
Five accounts, five separate floors, no shared anything. Most of the money went to the one account with the largest list, and that account sent one newsletter a month.
Now the other number. The same month of mail, sent through the infrastructure layer every one of these providers runs on or its equivalent, costs a few tens of dollars. Not a few hundred. Tens.
The gap is well over $25,000 a year. And it widens every month, because a growing list is the point of the product, and both providers billed us for the list.
What the bill was for
Mailchimp prices by contacts. A list in the hundreds of thousands runs to four figures a month whether one campaign goes out or none. Resend prices transactional by volume, which is fair, and its marketing plans by contacts, which is the same bill under a different logo.
A contact is a row in a database. It costs the provider close to nothing to keep. Charging for it is a proxy metric, and it lands hardest on the customer whose list is growing, which is the customer any product wants to be.
This is why SendRaven has one rule of pricing: a contact is free. The meter is emails sent. The full argument for that is its own post; the short version is that it removes the one incentive contact pricing creates, which is to shrink the list you worked to build.
What the money did not buy
Cost was the reason to look. It was not the reason to build. Three of the five products are run in part by agents, and the email API they had could not do the things an agent needs.
It could not read the reply. Inbound arrived as a webhook with the whole quoted history attached and no idea which message it answered. Joining it to a conversation, stripping the quote, and asking "what is waiting on me" were ours to build, in every product, again.
It could not constrain a key. A credential handed to an agent could send to anyone, as often as it liked, with no way to hold a draft for a person. The only limit was the workspace quota, which trips after the mail has gone.
Unsubscribe did not stop the sequence. Opting out of a welcome series suppressed the address but left days three, six and ten scheduled. Finding and cancelling them meant paging through the provider's message list by hand.
Marketing and transactional were two products. Two dashboards, two suppression lists that disagreed, and a price gap that rewarded labelling a campaign as transactional, which is exactly what breaks the reputation split.
What we built instead
The infrastructure layer bills for the send and gives you nothing else: no suppression list, no scheduler, no bounce handling, no threading, and a sandbox you write to a human to leave. The missing layer is about six weeks of work, and it is the whole product.
SendRaven is that layer, with the rules we wanted written into the send path rather than a settings page. Two sending identities per domain, so a campaign cannot reach a password reset. Suppression scoped by kind, so a marketing opt-out never blocks a receipt. Unsubscribe as two writes: suppress the address and cancel what is queued for it. Threads joined on the Message-ID header and never on subject. Limits on the API key. A campaign refused before it starts if the bounce or complaint rate says it should be.
And one meter. Transactional and campaigns on the same plan, contacts free, replies free.
Why sell it
Because the problem is not ours. Anyone building a product that talks to people over email and lets software do the talking hits the same four walls, and the answer they are offered is a bigger tier of the same API. We would rather offer the layer.
We will not quote a deliverability figure until we have earned one, and we do not have a decade of warm IPs. What we have is a send path that refuses to do the things that get accounts paused, five products depending on it, and a bill we were glad to stop paying.
