Can AI replace Sendcore?
The editor is the copyable part. A coding agent will happily build a private Shopify app that pulls your products, composes an HTML campaign and sends it with your own provider key, and for one store that is genuinely useful. What does not fall out of a one-shot is everything that makes it a product a merchant can run a business on: a listed App Store app with OAuth, mandatory GDPR data webhooks and billing that lands on the merchant's own Shopify invoice, per-tenant domain authentication with the DNS handholding it needs, and the consent, suppression and bounce records that keep sending both legal and delivered. Worth saying plainly: Sendcore is small and recent, with no audience network and no proprietary dataset to hide behind. It survives on platform surface, compliance plumbing and the unglamorous backlog that only real merchant sending reveals, which is a narrower moat than Klaviyo's and an honest one.
01What it costs
Checked Aug 10, 2026 · source: apps.shopify.com.
| Plan | Monthly | Billed yearly | What you get |
|---|---|---|---|
| Free | Free | Free | Up to 250 contacts, 500 emails/month, email marketing/templates, essential automations, popups and signup forms. |
| Standard | $16 | — | Starting price up to 500 contacts, 6,000 emails/month, advanced segments, A/B testing, AI subject lines, prebuilt workflows. |
| Pro | $59 | — | Starting price up to 2,500 contacts, unlimited email and push, product recommendations, deliverability audit/warm-up, AI writing. |
| Enterprise | $99 | — | Up to 2,500 contacts, full CRM with customer statuses/followups/reminders, assign customers, AI health/churn. |
Hidden costs: External charges may be billed separately from the Shopify invoice; pricing scales with contact count.
02Could AI build it for you?
The core job: Build a private Shopify app that syncs your products and customers, composes an HTML campaign with a product block, and sends it to a consented segment through your own email provider key.
What a working version needs:
- Node.js 22
- SQLite
- Shopify custom app Admin API token (read_products, read_customers, read_orders)
- Bulk email provider key in .env
- A sending domain you control, with SPF and DKIM already verified
Credibility row: a small, recent app in a category owned by incumbents, listed because the reason it survives is structural rather than clever interface work.
03What you'd give up
- App Store distribution: OAuth install, app review and the mandatory GDPR data webhooks
- billing that appears on the merchant's own Shopify invoice instead of a separate card
- domain authentication onboarding and per-tenant sender reputation
- bounce, complaint and suppression handling
- order-level revenue attribution and automations that fire on real store events
Merchants pay for the parts nobody enjoys building: staying installed and billed inside Shopify, keeping consent and suppression records defensible when a customer or a regulator asks, and getting mail into inboxes from a domain the merchant owns. The campaign editor is the part that demos well and the part an agent reproduces in an afternoon, right up to the moment other people's content meets other people's inboxes. Pasted rich text with mixed inline formatting, merge tags that must not eat the punctuation around them, product blocks that survive Outlook, automation timing that has to line up with a real order: none of these are design problems. They are a backlog you only discover by sending mail on behalf of other businesses, and grinding through it is what separates a demo from something a shop trusts with its list.
05The build prompt
Paste this into an AI coding tool (such as Claude, ChatGPT, Lovable or Replit) to build your own version. Read the verdict first: this one is hard to get right.
Build me a private Shopify campaign sender for one store I already own. Not a SaaS, not multi-tenant, no signup. Requirements: - Node 22 + Fastify + better-sqlite3, server-rendered HTML, no client framework. - Read the store with a Shopify custom app Admin API token I create myself (read_products, read_customers, read_orders); no OAuth, no App Store install flow. - Send through one bulk email provider with my API key and my already-authenticated sending domain; both in .env, ship a .env.example. - SQLite tables: contacts (email, consent state, source, created_at), products cached from Shopify, campaigns (subject, body_html, status, sent_at), and sends (contact_id, campaign_id, status, error). - Every contact carries an explicit consent state. Never send to an unsubscribed or unconsented contact, and prove that with a test. - Every email gets a working one-click unsubscribe link plus List-Unsubscribe headers, backed by a signed token and honoured immediately. - The composer is a plain HTML textarea plus a product picker that inserts image, title, price, and link from the synced cache. Render with inline styles and a table layout so it survives Gmail and Outlook; no external stylesheets or web fonts. - Always send a test to myself first, and require a typed confirmation of the recipient count before any real send. - Send in batches with retry and backoff, one send row per recipient, so a crash resumes instead of double-sending. Report delivered and failed from the sends table only; do not invent open or click tracking. - CSV import and export for contacts so the data is never trapped in the app. - Tests: the consent gate, the unsubscribe token, batch resume, and one end-to-end campaign against a mocked provider. - README states what this is not: no deliverability operations, no bounce or complaint processing, no App Store distribution, no billing. Say plainly that real volume from a cold domain lands in spam, and warmup is now the reader's job.
06Open-source starting points
App prices, verdicts, alternatives and build prompts are adapted from Can I Vibecode It? (MIT License, © 2026 Rob Hallam). Each price shows the date it was checked and its source. Prices change; confirm on the vendor's site before you decide.
Get new verdicts in your inbox.
One short email when new verdicts land: what AI can now do for you, and what it still gets wrong. No spam. Unsubscribe anytime.