Marketing · App Starter
A working newsletter platform — subscriber list, segments, issue composer, open and click analytics — generated into code you own.
Describe your publication, and Dual7 generates this newsletter platform around it: six connected entities, an issue composer, and per-link analytics, shipped as a real full-stack app that sends through the email provider of your choice. Your list stays in your database — the asset the whole operation depends on, owned outright.
01 · Data model
A newsletter is a list and a rhythm. Six connected entities hold both — who's subscribed, how they're grouped, what was sent, and what they did with it — and every screen below reads from these tables in your database.
| table | what it holds |
|---|---|
subscribers | Every reader — email, status (active, unsubscribed, bounced), signup source and date, plus the custom fields your niche needs. |
segments | Saved audience filters — engaged in 30 days, joined via the podcast, opened the last three issues — that sends and stats can target. |
campaigns | Named series with their own cadence and audience: the weekly digest, the welcome sequence, the occasional product announcement. |
issues | Individual editions — content, subject line, preview text, and send state from draft through scheduled to sent. |
sends | Per-subscriber delivery records for each issue — delivered, opened, bounced — the ground truth under every stat. |
link_clicks | Click events per link per issue, so you know which story earned the open and which button nobody found. |
02 · Screens
Signups, imports, unsubscribes, and bounce handling in one place, with per-subscriber history — every issue received, opened, clicked. List hygiene stops being an export-dedupe-reimport weekend.
Write, preview, and schedule editions with subject line and preview text side by side. Drafts belong to a campaign, so the weekly and the welcome sequence keep separate rhythms without separate tools.
The platform composes and tracks; delivery goes through the transactional email service you connect. That split keeps you portable — swapping providers is a config change, not a list migration.
Open rate, click rate, and per-link performance per issue, computed from the sends and clicks tables you own. Cohort questions — do podcast signups outlast social ones? — are queries, not plan upgrades.
03 · Process
Tell Dual7 what you publish, how often, who reads it, and how people sign up. Plain language is enough; the starter supplies the structure.
Get the working platform in minutes, then shape it conversationally: add a referral field, a second campaign, a custom signup form. Every change lands in real code you can inspect.
When it's ready for real sends, promote it through Dual7's approval gates to production — audit trail included, deployed on your infrastructure, your list in your database.
04 · Fit
Hosted newsletter tools own your relationship with your own readers — the list export is always possible, the everything-else export never is. Generating your own platform moves the list, the archive, and the analytics into a codebase where nobody can change the terms.
A product update to forty thousand customers doesn't need a marketing suite priced per contact. It needs a list you already own in your own database, a composer, and clean stats — which is exactly the footprint of this starter.
Job boards, curated deals, local news — businesses where the newsletter is the product need custom structure around the list: listings in issues, sponsor slots, city segments. Owning the code makes those first-class instead of workarounds.
Every developer with a newsletter has considered writing the platform; sends, bounces, and unsubscribe compliance is where the weekend project stalls. The starter is that project finished — and then it's yours to take further.
05 · Yours
Shape it to your publication: add custom subscriber fields — city, role, referral source — and segments learn to filter on them immediately. Rename campaigns to columns, add a public archive page, or put your signup form on any site you run. In Vibe mode each of these is a conversational edit landing in reviewable code.
Structural additions are ordinary engineering: a paid tier with gated issues, a sponsor-slot booking flow, an RSS-to-issue importer, digest assembly from your CMS. The platform sends through your email provider and has no runtime dependency on Dual7 — the whole pipeline is code your team can extend.
Newsletter platforms price by subscriber count, which means your growth is their revenue — and your list lives on their side of the API. This starter generates the entire platform as source code in your repository: list, archive, analytics, and send logic, deployable on your infrastructure. The subscriber relationship is the business; owning it shouldn't be metered.
The honest trade: deliverability is now partly your job. The starter's answer is to keep delivery on a dedicated email provider you choose — their reputation infrastructure, your platform — while the governed pipeline adds approval gates and an audit trail so a bad change can't reach forty thousand inboxes unreviewed.
06 · Industries
A working full-stack newsletter platform generated into a codebase you own: six connected entities (subscribers, segments, campaigns, issues, sends, link clicks), subscriber management with bounce handling, an issue composer with scheduling, provider-based sending, and open/click analytics.
Through the transactional email provider you connect — the platform composes issues, fans out sends, and records delivery events, while the provider handles the SMTP realities. Swapping providers later is a configuration change because the list and history stay in your database.
Yes — export from your current tool and import into the subscribers table, including signup dates and status so your history survives. Unsubscribes and bounces carry over as statuses, which keeps you compliant from the first send.
Every issue carries a working unsubscribe link, and the status change is immediate and permanent across campaigns. Because the logic is code you own, stricter regimes — double opt-in, region-specific rules — are additions you can make and verify.
The starter ships free-list-first, and a paid tier is a natural extension: add billing, mark issues as gated, and scope sends by tier. There's a dedicated paid creator newsletter version of this starter with that model built into the schema.
Delivered, opened, bounced per subscriber per issue, plus per-link clicks — stored as rows you own. Aggregate views cover open and click rates per issue and campaign; anything more specific is a query away, because the ground truth is in your tables.
Dual7 App Starters
A working newsletter platform — subscriber list, segments, issue composer, open and click analytics — generated into code you own. Describe your version to start — the output is a project you own.