cd ~/projects

~/projects $ cat bytesend/README.md

ByteSend

Products & platforms·Apr 2026 – Present·● live·31last push October 23, 2026

Open-source email infrastructure for developers: transactional and marketing email through one REST API, SMTP relay and SDKs, hosted or self-hosted on AWS SES.

Next.jsTypeScripttRPCHonoPostgreSQLPrismaRedisBullMQAWS SESTurborepo
home.png1/7
ByteSend — home
ByteSend — admin
ByteSend — dashboard
ByteSend — pricing
ByteSend — receiveing
ByteSend — settings
ByteSend — stats

Why it exists#

I got tired of Resend, SendGrid, Postmark and the rest. They're overpriced for what they do, and they're far from friendly to the developers who use them. So I built the email platform I actually wanted: simple to integrate, priced fairly, and open source, so you're never locked in.

ByteSend is open-source email infrastructure for developers. Transactional and marketing email go through one REST API, SMTP relay and set of SDKs. You can use the hosted service or self-host it on your own AWS account.

What it does#

  • Sending: REST API, SMTP relay, and SDKs for TypeScript, Python and Go, with scheduled and batch sends, idempotency keys and a visual template editor
  • Receiving: inbound mail on a hosted address or your own domain, delivered by webhook or API
  • Marketing: contact books with double opt-in, one-click unsubscribe, and batched campaigns
  • Deliverability: guided DKIM, SPF and DMARC setup; automatic suppression of bounces and complaints; and bounce and complaint limits enforced at Google and Yahoo sender thresholds
  • Abuse protection: outbound spam scoring, a review queue for high-risk mail, and daily blocklist monitoring
  • Operations: signed webhooks with retries, team alerts to Discord, Slack, Teams or Telegram, scoped API keys and 2FA

How it's built#

A Turborepo monorepo. The dashboard and tRPC API are Next.js, the public REST API is Hono, and background jobs run on BullMQ and Redis. A separate SMTP server forwards mail to the API. Data lives in PostgreSQL through Prisma, and AWS SES does the actual sending, so you can move a domain between SES regions without downtime.

ByteSend is licensed under AGPL-3.0.

What I learned#

Sending email is easy; getting it delivered is the actual product. Calling SES takes a few lines. Most of ByteSend is everything around that call: DKIM, SPF and DMARC setup, suppressing hard bounces and complaints, keeping every team under Google and Yahoo's sender thresholds, scoring outbound mail for spam, and checking domains against blocklists every day. One bad sender can hurt delivery for everyone on shared infrastructure, so these guardrails aren't optional. They're what the big providers are really charging for.

Self-hosting changes the design. Supporting both the cloud and "bring your own AWS account" pushed me toward boring, portable choices: Postgres, Redis, Docker Compose and SES as the only hard dependency. It also meant splitting the SMTP relay into its own small server that just forwards to the API, so there's one code path for sending no matter how mail comes in.

available for work