Build Plan · v1 · For Review

The Agentic Content Business

A compounding content property and an autonomous cold-outreach engine, sharing one AI content engine — designed to sell, deliver, and support itself, running entirely on Cloudflare.

Prepared 2026-05-17 · Status: concept locked, niche pending · Stack: Cloudflare + Resend + Stripe
01

The Concept

This is not a content agency with AI bolted on. It is a system — a set of narrow agents that build a marketing asset, find customers, close them, deliver the work, and support them, with a human setting guardrails rather than doing tasks.

The business runs on two assets that share one engine:

Asset A — The Content Property

A genuine, public content website on a real consumer topic. It ranks on Google, pulls organic traffic, and is the living proof in every sales conversation. It compounds whether or not anyone is selling.

Asset B — The Outreach Engine

A 1M+ Shopify store list worked by agents: enrich, generate a personalised sample, cold email, handle replies, send the Stripe link, close. Distribution as a loop, not a campaign.

Both are fed by the same AI content engine. The article that ranks on the public site and the sample with a prospect's name on it are the same artifact, produced the same way.

Content Engine Public site (ranks & proves) + Per-prospect sample (sells) Outreach → Close → Deliver → Support
The reframe: the Shopify list is fuel, not content. It never becomes public pages — search users do not care about a directory of stores. It is purely the prospect database for outbound.
02

Theme of the Site

The public property must earn a real search audience, so its theme is consumer-facing — not a B2B niche, not a store directory.

Category — Home & Lifestyle Goods lead candidate, swappable

Chosen on two criteria: (1) deep evergreen and seasonal search demand, and (2) an extremely dense Shopify merchant base — so every public article doubles as a credible, on-topic sample for outreach. The category is the one swappable variable in this plan; the method below does not change if it does.

Format — Decision-grade buying guides

The site follows the Wirecutter model, not the listicle-farm model: it helps a real person make a real purchase decision. Not "10 best X" — actual frameworks, tradeoffs, and "who each pick is for / skip if."

Architecture — Hub-and-spoke

Use-case / room hubs Category guides Comparison & "best for" pages Product & brand entity pages

This pyramid is what makes deep interlinking possible at scale — see Section 04.

03

Content Differentiation

It is late 2026. Every competitor can generate a thousand articles before lunch. Differentiation is no longer "can you make content" — it is whether the content survives Google's scaled-content-abuse policy and an audience exhausted by AI slop. Six principles:

05

The Agents

Fifteen narrow agents across four swimlanes. Each owns one job, one trigger, one definition of done. None of them talk to each other — they read and write the shared database (Section 07).

Content EngineBuilds and maintains the public property + per-prospect samples.
Research Agent
Cron / queue
Gathers structured product, spec, and price data into D1 — the data spine every article renders from.
Tools: fetch (public JSON feeds), Browser Rendering (fallback), D1.
Writer Agent
Queue
Drafts decision-grade articles from the data spine. Long-form, opinionated voice.
Tools: AI Gateway → strong model, D1.
Editor Agent
Queue
Quality gate: fact-checks against the data, enforces voice, dedupes, and noindexes anything too thin to ship. Reused as client QA.
Tools: AI Gateway, Workers AI, D1.
Interlinker Agent
Cron
Maintains the link graph — orphans, starved pages, semantic links, internal PageRank.
Tools: Vectorize, D1.
Publisher Agent
Queue
Renders pages, generates sitemaps and schema markup, deploys to the edge.
Tools: Workers static assets, R2, D1.
SEO Monitor Agent
Cron
Watches Search Console, detects ranking decay, and queues pages for refresh.
Tools: Search Console API, D1, Queues.
OutboundTurns the 1M-store list into booked revenue.
Prospector Agent
Cron
Scores and enriches the store list via public Shopify endpoints (/products.json, /sitemap.xml) — no browser, no bot wall.
Tools: fetch, D1.
Sampler Agent
Queue
Generates a personalised content sample per prospect, hosted as a live page with their name on it.
Tools: Content Engine, R2, Workers.
Outreach Agent
Queue
Composes and sends cold email, runs follow-up sequences, rotates sending domains, respects warm-up limits.
Tools: Resend, D1.
Closer Agent
Inbound email
Triages replies, answers questions, handles objections, sends the Stripe link or books a call. Escalates anything below confidence threshold.
Tools: Email Routing, Stripe, GHL widget, AI Gateway. Escalates: low-confidence replies.
ProcessTurns a sale into delivered work and clean billing.
Billing Agent
Stripe webhook
Payment success → provision the customer and kick off fulfilment. Payment failure → dunning sequence.
Tools: Stripe, D1, Resend.
Onboarding Agent
Queue
Collects the new client's brand, niche, and tone; builds their content profile; hands off to fulfilment.
Tools: Resend, D1, GHL.
Fulfilment Agent
Queue
Runs the content engine against the paying client's own store — their deliverable, on their schedule.
Tools: Content Engine, R2. QA via Editor Agent.
SupportKeeps customers happy and spending.
Support Agent
Inbound email
Handles status questions and revision requests against a knowledge base; routes revisions back to fulfilment; escalates refunds and complaints.
Tools: Email Routing, AI Gateway, D1. Escalates: refunds, complaints.
Retention Agent
Cron
Sends performance reports, flags churn-risk accounts, surfaces upsell moments.
Tools: Search Console API, D1, Resend.
06

Tech Stack

One Cloudflare account, one wrangler.toml, no servers. The only piece outside Cloudflare is outbound bulk email.

Platform & Orchestration

NeedServiceRole
ComputeWorkersEvery agent and the web front end run as Workers.
Durable pipelinesWorkflowsMulti-step jobs with retries, sleeps, and exactly-once steps.
Stateful agentsDurable Objects / Agents SDKEach agent individually addressable with persistent state.
SchedulingCron TriggersFires Prospector, Interlinker, SEO Monitor, Retention.
HandoffsQueuesDecoupled message passing between agents.

AI

NeedServiceRole
Cheap, high-volumeWorkers AIEmbeddings, classification, reply triage — edge inference.
Quality long-formAI Gateway → strong modelArticle generation routed to a top-tier model. Caching, rate limits, observability. No downgrade to a tiny model.

Data & Hosting

NeedServiceRole
Relational spineD1Stores, prospects, conversations, pages, links — the shared source of truth.
InterlinkingVectorizeEmbedding index powering semantic contextual links.
Config / cacheKVFast key-value for settings and hot lookups.
AssetsR2Images, generated samples, deliverable PDFs — no egress fees.
Site hostingWorkers static assetsSSG for the long tail, on-demand render + cache for fresh pages.

Outbound · Process · Support

FunctionServiceRole
Web datafetch + Browser RenderingPublic Shopify JSON by default; headless browser only as fallback.
Outbound emailResend non-CloudflareCold email + transactional. Cloudflare does not send bulk outbound.
Inbound emailEmail Routing / Email WorkersCatches and parses replies for the Closer and Support agents.
PaymentsStripePayment links, checkout, webhooks driving the Billing agent.
BookingGHL widgetCall scheduling when a prospect prefers to talk.
Search opsGoogle Search Console APIRanking data for the SEO Monitor and Retention agents.
07

The Shared Spine

Agents never call each other. They read and write one D1 database; the schema is the org chart.

Core tables

stores · prospects · conversations · customers · jobs · pages · links · events

Movement

Queues carry handoffs; Workflows wrap any multi-step job; Cron Triggers fire the scheduled agents.

Human escalation

Every table row carries a needs_human flag. Any agent below its confidence threshold sets it and stops. A daily digest — "sent 40, 3 replies, 1 sale, 2 need you" — is the human control panel.

The learning loop

Every agent action is logged to events with its reasoning. That log is both the audit trail ("why did it send that?") and next month's prompt-tuning data. The business writes down its own reasoning and compounds.

08

Build Sequence

Do not boil the ocean. Prove each mechanic on a slice before scaling.

P0

Foundation

Cloudflare account, wrangler.toml, D1 schema, one niche slice chosen.

P1

Content engine

Research → Writer → Editor → Interlinker → Publisher for one cluster (~200–500 pages).

P2

Prove indexing

Confirm the cluster indexes and ranks for facet terms before scaling content.

P3

Outbound loop

Prospector + Sampler + Outreach + Closer + Stripe link — the first closed revenue loop.

P4

Process

Billing + Onboarding + Fulfilment — sale becomes delivered work automatically.

P5

Support

Support + Retention agents once there are paying customers to serve.

P6

Scale

Add niches and sending domains one at a time, watching deliverability and indexing.

09

Risks & Guardrails

RiskGuardrail
Scaled content abuse penaltyData-spine pages, real value per page, tiered indexing — noindex thin pages until enriched. Directory of stores is never published.
Email deliverabilityPool of sending domains, gradual warm-up, volume ramp, SPF/DKIM/DMARC, kept off the money domain.
Bot blocking on enrichmentDefault to public Shopify JSON via plain fetch; Browser Rendering only as a small fallback lane with hard timeouts.
AI cost runawayWorkers AI for cheap calls, AI Gateway caching for the rest, per-agent budget caps.
Agent acting wrongly at scaleneeds_human escalation, full event logging, style approved once by a human before any volume runs.
10

What Stays Human