Know what happens after you hit send.

Open-source email observability for AWS SES. Track deliveries, bounces, opens, clicks, and complaints in a dashboard you own. Self-host it, or use our hosted version.

sessy.example.com
Sessy Dashboard

Running in production at

Up and running in 1, 2, 3…

No AWS credentials. No complex integrations. Just a webhook URL.

1 Deploy Sessy
One command with Docker. SQLite by default, PostgreSQL if you prefer. No external dependencies.
2 Add a webhook in SES
Create a configuration set in AWS SES and point the SNS destination to your Sessy webhook URL.
3 See every event
Deliveries, bounces, opens, clicks, complaints—all visible in real-time. Search, filter, and export.

Two ways to run Sessy

Same dashboard either way. Run it yourself, or let us host it and skip the setup. Switch whenever you like. Your data exports cleanly.

Self-host

Free & open source

Deploy with Docker or Kamal on your own infrastructure. Your server, your data, no limits on volume or retention. Yours to run and modify.

Get started on GitHub

Hosted

Beta Free during beta

We run Sessy for you. No servers to manage, no upgrades to babysit. Sign in with your email, point SES at your webhook URL, and you're live. Free while we're in early access.

Use the hosted version

Everything the expensive dashboards do. None of the markup.

Real-time event tracking
Every SES event captured as it happens—sends, deliveries, bounces, complaints, opens, clicks, rejects, delays, rendering failures, and subscription events. Search by recipient or subject, filter by type and date range.
Bounce & reputation monitoring
Track bounce rates with breakdowns by type (permanent, transient, undetermined). Spot complaint spikes early. Protect your sender reputation before AWS throttles you.
Engagement analytics
Open and click tracking with unique counts. 30-day trend charts for sends, deliveries, and bounces. At-a-glance stats for every source you configure.
Multi-source management
Separate email streams by application or environment. Each source gets its own webhook URL, dashboard, retention policy, and activity feed. One Sessy instance for all your projects.

Debug email issues without leaving your editor

Sessy has a built-in MCP server, so AI agents like Claude Code, Cursor, and Codex can query your email data directly. Ask why an email bounced, check if a user got their password reset, or pull delivery stats—read-only, straight from your coding session.

Set up the MCP server

> why did the email to [email protected] bounce?

• search_events(query: "[email protected]")

• get_message(ses_message_id: "0100019...")

Permanent bounce (general): the mailbox doesn't exist. The receiving server returned 550 5.1.1 "user unknown". You should stop sending to this address to protect your sender reputation.

You shouldn't pay more per email just to see if they landed

Some services are literally SES with a markup—you're paying extra for the dashboard. Sessy gives you that dashboard for free.

SES + Sessy Postmark Resend
10K emails/mo ~$1 $15/mo $20/mo
100K emails/mo ~$10 ~$177/mo $35/mo
500K emails/mo ~$50 ~$897/mo $350/mo
Per-email search
Bounce & complaint tracking
Your data, your server
Email templates
Open-source dashboard

Frequently asked

How much does it cost?

Self-hosting is free and open source. Prefer not to run servers? The hosted version is live in beta and free while we're in early access. Try the hosted version.

Can I switch between hosted and self-hosted?

Yes, either direction. It's the same Sessy. Start hosted and move to your own server later, or self-host now and switch to hosted if you'd rather not manage it. Your data exports cleanly.

Do I need to know Ruby on Rails?

No. Deploy with Docker. Once running, configuration is done entirely through the web interface and AWS SES settings.

How do I set it up?

Deploy Sessy, then configure a webhook URL in your AWS SES settings. Events flow automatically. See the step-by-step setup guide at /docs/aws-ses-setup.

What database does it use?

SQLite by default, with PostgreSQL support. No external dependencies. Your data stays on your server.

Can I use this in production?

Yes. Sessy is already running in production at multiple companies. It's under active development, so expect improvements.

Can AI agents access my email data?

Yes. Sessy includes an MCP server, so agents like Claude Code, Cursor, and Codex can search events, inspect bounce diagnostics, and pull stats—read-only, authenticated with an API key. See the MCP setup guide.

What events can be tracked?

All major SES events: sends, deliveries, bounces, complaints, opens, clicks, rejects, delays, rendering failures, and subscriptions.

Deploy in five minutes.

One command to deploy. One webhook to configure. Full visibility into every email you send through SES.

# Deploy with Docker

$ docker run -p 3000:3000 ghcr.io/marckohlbrugge/sessy

# Add your webhook URL in AWS SES

# https://sessy.example.com/webhooks/your-token