Cold email outreach with personalisation: sequences sent from your own mailbox, with warm-up to protect the domain and per-recipient images and text.
Build me cold outreach that replaces Lemlist — and read this before deciding, because two things here deserve more scepticism than usual. The technical answer is that **a warm-up network needs many participants to work at all**, and you cannot have one alone. The other answer is that this category is where mass unsolicited email comes from, and in most of Europe sending it to individuals without consent is unlawful. Build this for follow-up to people who asked, for reply-tracked sequences to existing contacts, or for business-to-business outreach where you have checked the rules where the recipient lives. Do not build a spam cannon; it will destroy the sending domain you actually need. STACK - Node 20+ with Fastify, server-rendered HTML - SQLite through better-sqlite3, WAL mode - Sending through your own mailbox over the provider's API or SMTP, not through a bulk platform - A worker for sending, separate from the web process - Caddy in front THE DATA MODEL - mailboxes: id, address, provider, credentials_encrypted, daily_limit, sent_today, warmup_state, health_json, is_active - contacts: id, email, name, company, attributes_json, status, source, consent_basis, do_not_contact, created_at - sequences: id, name, steps_json, stop_on_reply, stop_on_click, sending_window_json, timezone_mode, is_active - enrolments: id, sequence_id, contact_id, mailbox_id, status, current_step, next_send_at, started_at, stopped_at, stop_reason - sends: id, enrolment_id, step_index, mailbox_id, message_id, thread_id, sent_at, opened_at, replied_at, bounced_at, error - replies: id, send_id, received_at, is_auto_reply, classification - suppression: email_hash, domain, reason, at — global, permanent SENDING FROM A REAL MAILBOX - One mailbox sends a modest number a day. Fifty is careful, a couple of hundred is aggressive, and going higher is what gets an account restricted - Randomised intervals within a sending window in the recipient's own working hours. A message every twelve seconds exactly is a machine and every provider knows it - Rotate across mailboxes if you have several, each with its own limit and its own health - Sends as replies within a thread for follow-ups, with the correct headers, because that is how a sequence reads as a conversation rather than a campaign - Track the mailbox's own bounce and complaint signals and stop that mailbox automatically when they rise. One bad list can cost you the address you actually use for work STOPPING, WHICH IS THE MOST IMPORTANT PART - A reply stops the sequence immediately. Detect it by thread and by Message-ID references, and classify automatic replies so an out-of-office does not count - A bounce stops it and suppresses the address - An unsubscribe stops it everywhere, permanently, and every message carries a one-click way out even though it is not a marketing platform — because it is the decent thing and it keeps you out of trouble - A manual do-not-contact list, by address and by domain, checked before every send - Any doubt about whether somebody wants this stops the sequence. The whole reputational risk of this category is in the fourth message to somebody who ignored the first three PERSONALISATION, HONESTLY - Variables with a fallback, so nobody receives 'Hi ,' or 'I noticed your work at .' - A required review of the first send of every sequence, rendered for a real contact - Personalised images and dynamic landing pages exist and are mostly a gimmick that raises the spam score. Plain text from a real mailbox outperforms them, and it is also what a person would actually send WARM-UP, HONESTLY - The network effect is unreproducible alone. What you can do: send gradually increasing volume to addresses that genuinely engage, keep the list clean, and be patient for weeks - Set up SPF, DKIM and DMARC properly, use a subdomain separate from anything else, and monitor the postmaster reports the large providers offer MEASURING - Sent, delivered, opened, replied, bounced, unsubscribed, per sequence and per step - Reply rate is the only number that matters. Open rate is unreliable and click tracking in a one-to-one email raises the spam score — consider leaving it off entirely OPERATIONS - .env: DATABASE_PATH, BASE_URL, ENCRYPTION_KEY, SESSION_SECRET, HASH_SALT, provider credentials - Migrations on boot, each once; nightly backup off the machine - Health endpoint reporting per-mailbox bounce rate and daily volume WHAT MATTERS MOST Reply detection and the stop rules. Build those before the first sequence runs, and keep the volume low — the mailbox you are risking is the one you use for everything else.
What you lose
- A warm-up network that exchanges real mail between accounts to build sending reputation, which needs many participants to work at all
- Sending from your own mailbox with rotation and daily caps handled for you
- Deliverability monitoring that tells you when you have started landing in spam
If you would rather not build
- Instantly, for the same job as a service
- A sequencer over the Gmail API, which is what the prompt builds
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $55/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Why this verdict
our own opinion · changed only by a person
55/100
Verdict kinda at 55. The sequencer is a weekend; the warm-up network is not reproducible, and pretending otherwise would burn your domain.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Lemlist
answered from the record above
Is Lemlist free?
No — the plan we track is $55 a month. Email from $55 per user per month; the multichannel plan is $87.
Can you replace Lemlist by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 55 out of 100, build time a weekend. Read what you lose before you decide.
How much does Lemlist cost?
$55 a month on Email Pro — $660 a year. Recorded 14 Aug 2026.
What do you lose by replacing Lemlist?
A warm-up network that exchanges real mail between accounts to build sending reputation, which needs many participants to work at all; Sending from your own mailbox with rotation and daily caps handled for you; Deliverability monitoring that tells you when you have started landing in spam. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Lemlist?
Yes: Mautic, Listmonk. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

