What You're Actually Getting
Four layers, all in your name. Not a login to our account — your accounts, your domain, your database, your subscribers. If you fired us tomorrow you would keep every one of them.
| Layer | What it is | Whose account |
|---|---|---|
| Sending | Listmonk on your own server, delivering through your own verified sending domain | Yours |
| Writing | A drafting pipeline that reads your real published content and current market chatter, writes in your voice, then strips the AI tells | Ours, run for you |
| Approval | JJOS — your own dashboard. Every issue as a record with a rendered preview image and one approval checkbox | Yours, hosted by us |
| Visibility | Rubric — your login. Opens, clicks, what's queued, what shipped, direct line to us | Yours, hosted by us |
The path a single issue takes
Worth stating plainly: no language model can send an email in this system. The model writes and stages. A mechanical cron with no intelligence in it does the sending, and it only fires on a checkbox that a human ticked. Those two facts are the whole safety design.
Dedicated, not shared. You get your own Listmonk deployment and your own database, not a tenant slot inside ours. That is what makes the confirmation emails, the opt-in pages and the subscribe URL carry your brand instead of ours — on a shared instance those three are technically impossible to white-label, so we don't put clients there.
What It Reads Before It Writes
A newsletter that runs on a schedule with nothing to say is filler, and your list can feel it. Every issue starts by checking whether something real is worth telling people about.
| Source | What it pulls |
|---|---|
| Your published content | Your last 30 days of YouTube and Instagram. If something real shipped, the issue is probably about that — with a live link to it, never a placeholder or "check out my channel." |
| Live market chatter | The last 30 days across Reddit, X, YouTube, TikTok, Hacker News, GitHub, prediction markets and the open web — on the specific topic of that issue. |
| Your content records | The actual transcript, show notes and published URL of whatever is being repurposed. The insight is extracted from the real thing, not invented around a title. |
| Your offers | Price, description and status pulled from the record. Only live offers get promoted. No price is ever written from memory. |
| Your voice doc | Cadence, sentence rhythm, vocabulary, the things you never say — plus a story bank holding only stories you gave us. |
Why the live research step exists
A language model's knowledge is months stale, and it does not know that. On a real business-credit issue the 30-day pull surfaced two things that changed the draft: the net-30 shortcut everyone teaches is being actively debunked right now, and the myth being hammered hardest is that an LLC hides your personal credit. Both would have shipped as confident, slightly-wrong advice under your name.
What it will never do
- Invent a story about you. No origin story, revenue figure, headcount, credential or award appears unless you supplied it. Your story bank starts empty on purpose and only fills with what you tell us.
- Invent a link or a price. Every URL is generated and tagged from a real record. Unpublished content does not get linked "in anticipation."
- Stack two asks. One call to action per issue. Two asks reads to a subscriber as no ask.
- Open with pleasantries. Never "Hope you're doing well." Every issue opens on the most interesting sentence in it.
Sounding Like You, Not Like AI
Your readers can tell. Increasingly they can tell fast, and the moment they decide an email was machine-written they stop reading it and start ignoring the sender. That is a conversion problem, not a taste problem, which is why this step is mandatory rather than optional.
Every draft goes through a two-pass humanizer before anyone sees it
Pass one is mechanical. A scanner flags the tells that give machine writing away: em-dash overuse, hype vocabulary, hedging, sycophantic openers, corporate filler. Pass two is by ear — three-fragment rhythm stacking, signposting phrases like "here's what you need to know," manufactured punchlines at the end of every paragraph. The draft is rewritten, then re-scanned. Nothing is staged until it comes back clean.
A real catch, not a hypothetical one: a first-pass draft came through with seven em dashes, a three-fragment stack, and two signposting phrases in the same section. All of it read as competent marketing copy. None of it read like a person. That is exactly the failure mode this step exists for.
The issue gets the shape its purpose needs
| Format | Used when | Shape |
|---|---|---|
| Weekly recap | Standing cadence issue with no single anchor | Climax open → setup → lesson → takeaway → sign-off → PS |
| Single insight | Repurposing one piece of content | Hook → the common mistake → how to actually do it → one example |
| Promo / offer | Selling something specific | Problem as felt → the offer plainly → one proof → real deadline → one CTA |
| Video promo | A new video just went live | Hook → clickable thumbnail → watch button → payoff → signature → PS |
| Letter | Personal, no product, pure relationship | Full-width letter layout with your portrait and signature |
Every link is tagged, every logo is clickable
An automated gate runs before anything reaches you, and it hard-fails on untagged links, images that aren't hyperlinked, missing alt text, and any affiliate link without its required disclosure. Attribution can only be captured at the moment somebody clicks. It can never be backfilled, so an untagged link is data destroyed permanently, not data collected later.
Nothing Sends Without You
One checkbox is the entire difference between a draft and an email in 40,000 inboxes. Here is exactly who touches it and when.
- The issue is drafted and humanized, then staged as a record in your JJOS dashboard — subject line, preview text, body, publish date, and the single call to action.
- A real preview image is generated and attached. Not raw HTML. We render the actual branded email, screenshot it, and pin the image to the record, so what you review is what your subscriber will open.
- The link and logo gate runs automatically. If it fails, the issue does not reach you until it is fixed.
- Approved to Send sits unchecked. This is the whole gate. No automation, no model and no scheduled job ever ticks it. It is only ever ticked by a human being who was explicitly asked to.
- You review and approve — in JJOS, in Rubric, or by replying to us. Edit the copy in place if you want; the record is the source of truth, not a document somewhere else.
- A cron fires it. Every 15 minutes it checks for issues that are approved, dated for today, and not yet sent. It creates the campaign, sends it, and writes the campaign ID back.
- The campaign ID is the re-send guard. Once written, that issue can never send a second time, no matter how many times the job runs.
- Opens and clicks sync back into your dashboard and your Rubric KPIs, automatically.
The failure modes, and what happens in each
| If this happens | What the system does |
|---|---|
| Approved, but the copy is empty | Refuses to send. Retries every 15 minutes once real copy lands. Alerts us, throttled so it can't spam. |
| The scheduler creates issues faster than you approve them | Nothing. An empty unapproved slot is structurally incapable of sending. Worst case is a tidy pile of drafts. |
| Publish date arrives, still unapproved | Nothing sends. It waits. There is no timeout that sends on your behalf. |
| You want it out now | Approve it and set today's date. It goes on the next 15-minute tick. |
| You want it stopped after approving | Untick the box. If the tick already fired, it's sent — the same as any other email platform. |
Send time is explicit. A date with no time would go out at midnight, which is the worst possible slot for opens. Your send time is set per brand at setup — 9am local is the default — and it is a field you can change without touching anything else.
Every Dollar, Itemized
These accounts are in your name and you pay the vendors directly. We never mark them up, and we never resell you capacity. Figures below are current as of July 2026.
| Vendor | What it does | Your cost |
|---|---|---|
| Listmonk | The newsletter platform itself — subscribers, lists, campaigns, analytics | $0 forever |
| Railway | Runs the application and your Postgres database | $10–18 / mo |
| Resend | The relay that physically delivers the mail, and verifies your sending domain | $20 / mo |
| Sending domain | news.yourbrand.com — a subdomain of the domain you already own | $0 |
| Docker | Builds the container image your server runs | $0 |
| Cloudinary | Hosts the images inside your emails and the approval previews | $0 |
| YOUR INFRASTRUCTURE — at 10,000 subscribers, weekly | $30–38 / mo | |
Listmonk is open source under AGPL-3.0 — there is no licence fee and no per-subscriber fee, ever.
Railway is $5/mo including $5 of usage, then metered per second (RAM $10.00/GB-month, CPU
$20.01/vCPU-month, disk $0.156/GB-month, egress $0.05/GB); Listmonk plus Postgres sits around 0.5–0.7GB.
Resend Pro is $20/mo for 50,000 sends and 10 domains.
Domain: $0 because newsletters send from a subdomain of a domain you already own; a brand-new
.com is $10.44/yr at cost if you need one.
Docker: $0 because Railway builds the image on its own machines — you never install it. Docker Engine
and the CLI are free software; Docker Desktop only becomes licensable ($9/user/mo) if you exceed 250 employees
or $10M revenue and choose to build images in-house, which this setup does not require.
Cloudinary: free tier is 25 credits/month; newsletter imagery uses a small fraction of one.
The dashboard layer runs on our infrastructure, not yours
| Layer | What you get | You pay | Standalone |
|---|---|---|---|
| JJOS | Your own base and interfaces — every issue, preview, approval and KPI | Included | $20 / user |
| Rubric | Your login, isolated at the database layer so you see only your data | Included | $45 / mo |
| Automation | The 15-minute cron that sends, defaults and syncs your stats | Included | — |
| PLATFORM LAYER | $0 | $65 / mo | |
Both are multi-tenant, so your marginal cost is genuinely zero rather than discounted. Isolation is enforced at the database layer, not hidden in the interface — we tested it by requesting another tenant's record directly by ID and got a hard refusal, not a blank screen. Read-only viewers are free, so give access to as many people on your team as you like.
The Cost Of Getting Bigger
Hosted platforms charge you for subscribers, whether you email them or not. Owned infrastructure charges you for emails actually sent. That single difference is what the table below is measuring.
| Subscribers | Sends / mo | Railway | Relay | Your infra | beehiiv Scale |
|---|---|---|---|---|---|
| 1,000 | 4,300 | $10 | $20 | $30 | $43 |
| 10,000 | 43,000 | $12 | $20 | $32 | ~$90 |
| 25,000 | 108,000 | $15 | $43 | $58 | ~$140 |
| 50,000 | 217,000 | $20 | $140 | $160 | ~$200 |
| 100,000 | 433,000 | $28 | $350 | $378 | ~$290 |
Assumes one send per subscriber per week. beehiiv's Scale tier is $43/mo on annual billing and steps up at 2,500 / 5,000 / 10,000 / 25,000 / 50,000 / 75,000 / 100,000 subscribers to roughly $290 at the top; the intermediate figures are interpolated between published endpoints, so confirm at checkout before budgeting.
Read that last row honestly — above 50,000 the relay is the whole problem
Resend is priced for convenience, and past roughly 25,000 subscribers that convenience gets expensive enough to beat the point. The fix is to swap the relay for Amazon SES at $0.10 per 1,000 emails, which is a settings change in Listmonk, not a migration. At 100,000 subscribers that turns a $350 relay bill into about $43, and your total infrastructure from $378 to roughly $71 a month — against beehiiv's $290. We do this swap for you when the numbers cross over, and we tell you when they do.
What you are actually comparing this to
beehiiv at $90 a month buys you a place to send from. It does not decide what the issue should be about, research it, write it in your voice, strip the AI tells, build the preview, or report on what happened. The honest comparison is a sending platform plus a newsletter writer, which is where the real market rate sits — and that is the line the next section is priced against.
What We Charge
The Build Includes
- Sending domain configured, DNS published and verified, with SPF, DKIM and DMARC set correctly the first time
- Your own Listmonk deployment and database, in your account
- Branded campaign, opt-in confirmation and welcome email templates
- Branded subscribe, confirm and unsubscribe pages — no third-party logos anywhere
- Your JJOS base and interfaces, plus your Rubric login and KPI panel
- Send automation wired, and a real test send verified end to end
- Existing list imported with consent state preserved
- Your voice doc built from your real material
The Month Includes
- Every issue researched, drafted, humanized and staged for approval
- Deliverability watched — bounce and complaint rates, before they become suspensions
- Backups, security updates, version upgrades, uptime monitoring and certificates
- Relay migrated to cheaper infrastructure when your volume justifies it
- Opens, clicks and growth reported into your dashboard, plus template and format changes as the brand evolves
- A direct line to us in Rubric, not a ticket queue
The all-in number
| At 10,000 subscribers, weekly | Monthly | First month |
|---|---|---|
| Infrastructure, paid direct to vendors at cost | $32 | $32 |
| JJOS dashboard, Rubric access and automation | $0 | $0 |
| Management, drafting and reporting | $997 | $997 |
| One-time build (first month only) | — | $2,500 |
| TOTAL | $1,029 | $3,529 |
For comparison: a hosted platform at that list size runs about $90 a month and writes nothing. A freelance newsletter writer for a weekly issue is commonly $800–$2,000 and touches no infrastructure. This is both, plus the asset ends up in your name instead of ours.
What This Costs You Besides Money
Any ownership pitch that skips this section is selling you something. These are real, they apply to you, and none of them are solved by paying us.
Deliverability starts from zero
Hosted platforms send from IP pools with years of reputation behind them. On day one your domain has none, which means a 4–6 week warming ramp where volume climbs gradually. You cannot blast 40,000 people in week one, and anyone who says otherwise is setting up a spam-folder problem you will spend months undoing.
You inherit the compliance thresholds
Every relay suspends accounts sustaining a complaint rate above roughly 0.1% or bounces above 5%. We wire that handling at setup and watch it monthly — but the reputation being protected is yours, and a list you bought or scraped will destroy it faster than we can defend it.
You give up the monetization layer
beehiiv is not just a sender. It runs an ad network that brokers sponsors into your newsletter, paid recommendations that pay per referred subscriber, and paid subscriptions at a 0% platform cut. A 50,000-subscriber newsletter clearing $1,500 a month through that ad network makes the $200 platform fee irrelevant, and rebuilding it independently is a business, not a config file.
Where we would tell you not to do this
Stay Hosted
- Under about 5,000 subscribers with no near-term growth plan
- The newsletter is the product and ad or subscription revenue is already live
- You need to be sending this week — the warm-up ramp is real
- You would rather buy growth tools than have them built
Own It
- Over 10,000 subscribers, or sending more than weekly
- The newsletter is a channel for the business, not the business
- Your list needs to sit next to your CRM and billing data, not behind someone's API
- Compliance or data residency is a live question in your industry
- The list is an asset you never want to migrate again
What Happens After You Say Yes
| When | What happens | What we need |
|---|---|---|
| Day 1 | Accounts opened in your name. Sending subdomain added, DNS records published, verification started. | DNS access, or someone who has it |
| Day 1–2 | Listmonk deployed to your Railway account. Templates branded. Public pages branded. | Logo, colors, mailing address |
| Day 2–3 | JJOS base and interfaces built. Rubric login issued. Automation wired and a real test send verified. | Who approves issues |
| Day 3–5 | Voice doc built from your real material. Existing list imported with consent state intact. | Past content, list export |
| Week 1–6 | Warm-up ramp. Sending starts small and climbs on schedule. Real issues go out during this window, to growing slices of the list. | Approvals, as normal |
| Week 6+ | Full volume. Steady cadence. Monthly reporting into your dashboard. | — |
What You Own On Day One, And Keep Forever
- The subscribers — in a Postgres database in your account, exportable in full at any moment, with no platform sitting between you and them.
- The sending domain — and the sender reputation attached to it, which is the part that actually takes years to build and cannot be bought.
- The templates and the voice doc — yours outright, no licence, no attribution, no dependency on us.
- The whole stack — if you sell the business, it transfers. Not a CSV export and a hopeful migration, the actual working system.
If you leave. Everything infrastructural is already in your name, so there is nothing to hand over — we remove our access and the system keeps running. We will document what we were doing, and point you at what needs a human. No exit fee, no hostage data, no thirty-day retrieval window. That is the entire point of building it this way.
Book 30 Minutes
Bring your list size, your current platform and what you send now. You will leave the call knowing whether owning this is the right move for you — including if the answer is no.
Calendar not loading? Book directly at cal.com/jonjason.