Turns one brief into 5 ad copies, a self-hostable landing page, and a 3-email welcome sequence in a single pass. Built for affiliate media buyers who buy traffic, capture opt-ins, and monetize via email. Three platform deploys from one button.

An automated outreach campaign found me for a build challenge run by It's Today Media, an affiliate marketing company based in Baltimore. Their operational mission is explicit: "We buy media at scale to build email and SMS lists." That is not e-commerce. That is list-building: buy traffic, capture opt-ins, nurture, monetize. I used the invitation as a catalyst. Not because of the contest, but because I had already been sitting on a thesis about a gap in this exact market.
I spent the first week reading every adjacent tool before writing a line of code. Jasper, Copy.ai, HubSpot Campaign Assistant, Anyword. They all generate ad copy from a brief. Done. That territory is settled.
The gap nobody fills is the intersection of three things: deploy-ready self-hostable landing page HTML, labeled angle ร formula A/B system, and an affiliate list-building email arc. All three from one brief, in one pass.

A 2014 Moz study, reproduced by Disruptive Advertising across 500+ accounts, measured a 212.74% conversion rate lift and a 69.39% CPA reduction when ad copy and landing page carry the same message. KlientBoost separately measured a 66% CVR lift from matched messaging alone. Those are not rounding errors.
And yet most tools generate ad copy in one session, the landing page in another, the email in a third. The angle drifts. The message fractures. I generate all three in one call, so it cannot drift โ because the LLM never gets a chance to reframe the offer between assets.

Instead of one mega-call that tries to produce everything at once, the pipeline splits into four focused stages. Stage 1 generates five ad copy variants, each tagged with its persuasion angle and DR formula: Fear ร PAS, Curiosity ร Slippery Slide, Social Proof ร AIDA, Aspiration ร BAB, Authority ร QUEST. Stage 2 generates landing pages in parallel โ one per angle. Stage 3 writes the three-email cold-traffic arc. Stage 4 audits message consistency across all assets and scores it.
The email arc is specific to affiliate list-building. Email 1 delivers the lead magnet with zero affiliate links. Email 2 tells a story with a real name, age, location, number. Email 3 surfaces the offer as a recommendation, not a pitch. This is not generic marketing. Cold traffic needs trust before offer, every time.

The part that closes the loop. One button fires three deployment channels in sequence. First, the landing page goes live via Vercel REST API โ a single zero-dependency HTML file uploaded inline, live URL in two to five seconds. Then that URL becomes the destination for Meta Ads, pushed via Pipeboard MCP as a paused campaign with five creatives. Zero spend until you hit publish. Meanwhile, the three-email drip sequence lands as draft campaigns in Brevo, attached to an empty subscriber list as a safety net.
Each platform integration went through its own decision. Vercel REST over Cloudflare Workers because Vercel accepts arbitrary HTML inline โ no wrapping, no escaping. MCP HTTP over CLI subprocess because serverless functions cannot spawn binaries. Brevo over Mailchimp because one API key header is cleaner than MCP token toggles, and the free tier fits a pilot.

The team runs about 20 campaigns per month. Each campaign package โ ad copy, landing page, emails โ takes roughly 5 hours across several people. That is 100 hours a month spent on production alone, roughly 60% of one full-time role.
With CampaignForge, the generation itself takes under 30 minutes. Add 2 hours for polish and QA, and the package drops from 5 hours to 2.5. That is 50 hours a month freed up โ enough to double throughput with the same team, or redirect capacity into A/B testing and optimization that rarely gets done.

The challenge closed. Matt wrote back honestly โ the outreach was automated, and being based in Indonesia was the deciding factor. Timezone overlap and US work situation made it tough to move forward. He had a strong pool of candidates to choose from.
I did not continue to production. But the thesis I brought to week one was proven by week two. One brief, one pipeline, three platform deploys, 96% message consistency. The gap I found in the research was real, and it was closeable in two weeks of focused work. That is the version worth documenting.
Every non-trivial choice, documented and verifiable from source.
Single LP vs five. The concept called for five angle-matched landing pages. Reality: reasoning models burn token budget fast. The pipeline generates five in parallel when budget allows, falls back to one when it does not.
Vercel REST over Cloudflare. Vercel accepts arbitrary HTML as inline file data. Cloudflare Workers would need the HTML wrapped into Worker source with escaped quotes. One credential instead of two.
MCP HTTP over CLI subprocess. The first prototype spawned the Pipeboard CLI binary. It worked locally but broke on Vercel โ serverless functions cannot spawn processes. Direct JSON-RPC over HTTP fixed it. Zero install for the user.
Sequential multi-call over one mega-call. One call for all assets meant the model ran out of output tokens halfway through the emails. Four focused stages with dedicated token budgets solved it, with fault isolation as a bonus.
Next.js 16 App Router, React 19, Vercel AI SDK v7 with structured output via Zod v4. Provider layer supports both OpenCode Go and Z.AI Coding Plan โ 16 models total, switchable without re-entering keys. Tailwind v4 for the dark theme. Zero database, zero auth, zero server-side state. BYOK from localStorage. Deployed on Vercel Hobby, free tier.

The cheapest way to learn if a gap is real is to build the smallest thing that closes it.