Work/Wellsent
AI · EmailCustom Software Development

Wellsent

Our client wanted control over email warm-up and the handling of its mailbox addresses. We built Wellsent as a self-hosted platform with a dedicated receiving pool, configurable sending schedules, template checks and domain diagnostics.

Wellsent: Self-hosted email warm-up and delivery checks
16 days
configured sending ramp
5 min
spam-rescue sweep
1 stack
all client inboxes

Taking control of the warm-up process

Our client did not want to entrust mailbox addresses and the warm-up process to an outsourced service. It wanted to control how sending worked and how those addresses were handled. We built Wellsent around a self-hosted installation and a dedicated pool of receiving inboxes, with the sending schedules and delivery checks available to inspect.

The client can configure the process and review the mailbox history within the platform. That control comes with responsibility for running the infrastructure. Separate workspaces support multiple client accounts, while configurable scoring rules let the team adjust how it reviews templates.

A controlled sending ramp

Connected mailboxes follow a sixteen-day schedule that starts with ten sends and rises to the configured full volume. Messages are exchanged with the receiving pool, with AI-generated replies kept in the conversation thread. A sweep every five minutes records where warm-up mail arrived and moves messages found in spam back to the inbox.

The Inboxes screen: four client mailboxes across Gmail, Zoho and Titan, each showing a connected status.

Testing a template before outreach

We combined content checks with delivery observations. The editor flags features such as repeated text, a high number of links and terms associated with spam. A template check then sends the draft from the connected mailbox to pool addresses at several providers and reports where each copy landed. This gives the sender evidence to review before outreach, while placement can still vary by recipient.

The template editor with the content analyser open, scoring a draft and listing its live metrics.

A specific issue to investigate

The domain dashboard names conditions such as a missing email-authentication record or a blocklisted sending domain. That detail gives the team a place to start investigating, alongside the template results and mailbox history.

The domain health table on the dashboard, naming a missing DMARC record and a blocklisted sending domain.
Tech stack

Technologies we used

Server-side
PythonDjangoDjango NinjaCeleryPostgreSQLRedis
Client-side
NuxtVueNuxt UITailwind CSSTypeScript
Integrations
SMTP / IMAPOpenAI APIEmail authDNSBL
Infrastructure
Docker ComposeAnsibleCaddyGHCRGitHub Actions
Next projectCopylog
→

Have a similar challenge?

Work directly with the people building your software. Leave your contact details and we’ll reply within 24 hours.

Discuss your projectSee our work