AWS SES is cheap.
Operating it isn't.
Ops-Free gives developers a Resend/Postmark-style email infrastructure layer powered by AWS SES — without forcing you to manage the operational complexity yourself.
- 1
- API to send, track and troubleshoot email
- 6
- operational problems handled automatically
- 0
- extra infrastructure for you to run
Live activity
- delivered2s ago
Welcome to Acme
→ user@example.com
- delivered14s ago
Your invoice is ready
→ hi@stripe.com
- sent31s ago
Password reset
→ team@vercel.com
- queuednow
Weekly digest
→ founder@ycombinator.com
99.2%
delivered0.3%
bounce rate142ms
p50 acceptIllustrative preview — your account starts empty.
Raw SES gives you the infrastructure.
You still have to operate it.
Six problems every team hits within the first month of sending production email through SES — and how Ops-Free absorbs each one.
From AWS infrastructure to an email API.
Ops-Free doesn't remove AWS from the picture — it still sends through your own SES account. It removes the part where you build and run everything around it.
Raw AWS SES
What you build and run
Ops-Free SES
What you get instead
How it works.
Two paths through the system: sending a message, and receiving delivery events back from SES.
Sending
Your application
Ops-Free API
POST /api/v1/send
Queue & rate limiter
AWS SES
your account
Recipient
Events
AWS SES
SNS events
Ops-Free webhook
Delivery / bounce / complaint
Dashboard & blocked addresses
From sign-up to first email.
Four steps to send, two more before you go to production. You need an AWS account, and a domain or just an email address.
Create an account- 1
Create an account
Sign up with an email and password.
- 2
Connect your AWS account
In the AWS console, create an IAM user with the policy below and an access key for it, then paste the key into the setup screen. It is validated against AWS and stored encrypted.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ses:GetAccount", "ses:SendEmail", "ses:CreateEmailIdentity", "ses:GetEmailIdentity", "ses:CreateConfigurationSet", "ses:CreateConfigurationSetEventDestination", "ses:UpdateConfigurationSetEventDestination", "ses:PutEmailIdentityConfigurationSetAttributes", "sns:CreateTopic", "sns:Subscribe" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "route53:ListHostedZonesByName", "route53:ChangeResourceRecordSets" ], "Resource": "*" } ] } - 3
Verify your domain or email address
Type your domain. Ops-Free creates it in your SES account and shows three DNS records to add, with copy buttons. If your DNS is in Route 53, they're added for you. No domain yet? Verify your email address instead: click the link Amazon sends you, and you can send.
- 4
Create an API key and send
One click creates your key and shows a ready-to-run request. Send a test email from the dashboard, or call
POST /api/v1/sendfrom your app. - 5
Track deliveries and bouncesBefore production
One click sets up Amazon SNS in your account, so every email's outcome shows up in the dashboard and bounced addresses are added to your blocked addresses automatically.
- 6
Start sending to anyoneBefore production
New SES accounts can only send to verified addresses, up to 200 emails a day. Start sending to anyone prepares the request for you to submit to AWS, which usually reviews it within a day.
A developer API, not an AWS SDK call.
Send with a bearer API key over HTTP. Ops-Free authenticates the key, checks the suppression list, durably queues the message and hands it to SES from your AWS account. The response comes back before delivery completes — status updates arrive through the dashboard and your connected webhook.
Idempotency-Key header
Retried requests are deduplicated server-side, so a network retry never double-sends.
Templates or inline content
Send HTML/text inline with variables, or reference a stored template by id.
Enforced before the queue
Per-key and per-account rate limits are checked before a message is ever persisted.
send.http
POST /api/v1/send Authorization: Bearer sk_live_... Content-Type: application/json { "from": "hello@example.com", "to": ["user@example.com"], "subject": "Welcome", "html": "<h1>Hello</h1>" }
202 Accepted
{ "id": "3f2a1c9e-...", "status": "queued", "message": "Accepted for asynchronous delivery" }
One dashboard for delivery, domains and keys.
Every message, bounce and complaint lands here — alongside domain verification, API keys and sending status.
Overview
productionIllustrative preview built from the real dashboard components — your account starts empty.
Keep AWS SES economics.
Lose the operational overhead.
Ops-Free is a developer experience and operations layer on top of your own AWS SES account — it sends through your credentials and your quota. There's no separate email-sending infrastructure to provision or pay for beyond what SES already charges you.
You keep the AWS bill you'd have anyway. Ops-Free is what runs the queue, the retries, the bounce handling and the dashboard around it.
Ops-Free operations layer
Queueing, retries, bounce/complaint handling, dashboard
Your AWS account
Amazon SES usage-based pricing, billed directly by AWS
Built for people already shipping on AWS.
SaaS developers
Transactional email — welcome, password reset, invoices — without owning bounce processing.
Indie hackers
Production email infrastructure without the time cost of building queues and retry logic solo.
Startups
Start on SES economics from day one, with the operational layer already handled.
Backend engineers
An API that matches how you already think about sending mail, not an AWS SDK to wrap yourself.
Teams on AWS already
Keep credentials and delivery inside your own AWS account — Ops-Free doesn't ask you to leave it.
Anyone tired of reputation risk
Suppression and complaint handling run automatically, before a bad send touches your sender reputation.