Email so simple it's bad.

Stop configuring email.

Send transactional email with a tiny API, beautiful templates, attachments, CC, BCC, reply-to support, and zero nonsense.

await baddy.send({
    to: "[email protected]",
    subject: "Welcome",
    html: "<h1>Hello</h1>"
});
Get Baddy
Features

Everything you need. Nothing you don't.

⚡

Tiny

Small API surface.
Easy to learn.
Hard to misuse.

◈

Modern

ES Modules.
Pure JavaScript.
No framework required.

✉

Complete

HTML Email
Text Email
CC & BCC
Attachments
Templates

✓

Predictable

Templates are functions.
Emails are objects.
No hidden magic.

Philosophy
Most email libraries make sending email feel complicated.

BaddyEmail starts from a different idea.

Email is already complicated.
Your library shouldn't be.

import welcome from "./templates/welcome.js";

await baddy.send(
    welcome({
        email: "[email protected]",
        name: "Jane"
    })
);
Get Baddy

Ready?

There are no signup forms. No marketing funnel. No account creation. No waiting list. Just send an email.

No.

Baddy email me ;)

To:
[email protected]

Include:

[email protected]

10987654321

Yes, seriously.
Why us

Less setup.
More shipping.

If you want to send email with just an API, without wrestling providers, dashboards, or configuration hell — this is for you.

⚙️

No setup hell

No dashboards.
No onboarding maze.
Just send email.

🚀

Built for shipping

Drop-in API.
Works in minutes.
Not hours.

🧠

No abuse nonsense

Simple rules.
Clean usage model.
No enterprise bloat.