Couryo
A transactional email API that never sends the same email twice.
01The problem
Transactional email breaks in boring, expensive ways: a retried request sends the receipt twice, one bad sender burns the reputation of everyone else, and Brazilian teams pay in dollars with IOF on top.
02What I built
A Resend alternative built for Brazil. REST API, SMTP relay and an MCP server in front of AWS SES v2, with one SES tenant per customer so reputation is measured and paused per sender. Official SDKs for Node, Python and PHP, plus React Email templates for Pix, boleto and password reset. My own products already send through it.
03The decision that mattered
Nothing reaches AWS before our own checks, and nothing reaches it twice. Every send carries an Idempotency-Key, so a retry returns the same message id instead of a second email, and send guards pause a sender on bounce or complaint rates long before AWS would.
04Receipts
- AWS SES v2 in production, one tenant per customer, BYODKIM and a CNAME-only DNS setup for the customer
- Idempotency-Key on every send, verified in production: two calls, one row
- TypeScript end to end: Hono with zod-openapi, BullMQ on Redis, Postgres with Drizzle, 679 API tests
- SMTP relay, MCP server, SDKs for Node, Python (Django backend) and PHP (Laravel transport)