Website System · outline

Redesign-first outreach

Outline for your approval. Updated Friday, November 13, 2026: Cloudflare only, free tools, 200-300 businesses a day.

Planning only. Nothing is scraped, built, deployed, bought, or sent.

The idea

We pick one company with a bad website or no website.

We gather its content and branding from public sources and build it a sample home page.

The cold email links to that sample, so the owner sees their own business on a better site before anyone pitches.

Method: RoboNuggets R59, "Beautiful Websites Agent Toolkit." The Agents-as-a-Service lesson "The Build Phase" (minutes 3-4) runs the same flow for a web-redesign firm.

What changes from the kit

Who and what:

  1. Targets. One company at a time, and no website counts.
  2. Content. We also read the Google listing, social pages, and directories.
  3. Redesign. One of our five templates, with the company's own logo, colors, photos, and words.

Cost and hosting:

  1. Scraping. The kit pays Apify per 1,000 places. We run a free, open-source scraper on your Mac.
  2. Hosting. Every sample lives on Cloudflare Pages. You: "remove vercel and use cloudflare only."

Eight steps in three parts

Each step is one small skill. One runner skill calls them in order and pauses where you need to look.

Part 1

Find

1. Pick the company. You name a company and its city. A daily feeder also lists candidates from one Google Maps search, with no website or a weak one.

Tool: gosom/google-maps-scraper, free under the MIT license (version 1.18.2, November 8, 2026). It uses a Playwright browser and returns website, phone, hours, reviews, photos, and emails found on each website.

Speed: about 120 places a minute at standard settings. Finding emails slows it down, so the first test times a 300-place run.

If Google pushes back: a fast run can get an "unusual traffic" page. The run stops, keeps what it has, and tries again the next day. We never bypass that page.

2. Qualify the site. If the company has a site, Claude checks a phone and a desktop screenshot and marks it YES or NO, with a reason. No website counts as YES.

Reuses: the kit's screenshot script and YES/NO checklist. Playwright's browser is already on your Mac.

If a site won't load: it gets one retry the next day. If it still fails, it counts as YES, because a broken site is a weak site.

3. Gather content and branding. A Playwright browser reads each public source for free. Every fact keeps its source link.

  • Google listing: services, hours, photos, rating, and real reviews.
  • Their own site, if any, plus public Facebook and Instagram pages.
  • Directories: Yellow Pages and BBB.

Saves: the logo and photos into the sample's own folder, plus brand colors, text, and a contact email.

If a source blocks the read: it gets skipped and logged. Yelp is left out because it is known to block automated reads. With no logo anywhere, the company name becomes a text logo. No paid fallback.

4. Check the email. The free Reacher check on your own server runs first. Unsure results go to Reoon, or get dropped to keep the cost at $0.

If a check is down: without Reacher, the batch waits and nothing goes out unchecked. Without Reoon credits, unsure emails get dropped.

Part 2

Build

5. Build the home page. Each sample is one content file plus its photos, inside the template's folder. A script fills the content file and builds the page in place. An Opus agent writes the copy from the company's own words.

Why in place: the normal client build copies the whole template folder, which is 595 MB. At 100 samples a day, that would fill the drive.

Photos and logo: copied, because the templates only show images from the build's own folder. Every copied file gets deleted after a lost sale.

If it hits a limit: about 100 samples a day of Opus copy can reach your Claude plan's usage limit. The first week measures usage per sample.

6. Publish the sample. Each sample gets a friendly address, for example preview.<your-domain>/<business-name>/. Search engines are blocked. A thin bar at the top marks it as a sample:

Sample redesign for Maple Ridge Heating, made by <agency>
The company's new home page appears here, with its own logo and photos.

Tool: one Cloudflare Pages project for samples only, deployed once a day the same way your preview tool deploys. Samples stay off the preview tool's sites, because their home pages list every page.

If it hits a limit: the free plan holds 20,000 files per site, and each deploy must carry every live sample. A built template demo has about 37 files. At 100 samples a day, that fills the site in 5-6 days.

The fix, in order:

  1. Samples build one size per photo.
  2. A sample counts as lost 21 days after the first email with no reply, and gets deleted.
  3. If the test still shows too many files, samples split across a second Pages project.
Part 3

Send

7. Write the email. One short plain-text email with one link: the sample. It names one real problem, for example "your site doesn't fit on a phone." Two follow-ups at most, within the 21 days. An Opus agent writes it.

8. Send and track. The tool you choose sends from separate, warmed domains. A business enters GHL only after it replies.

Prospect log: one small skill records every company, verdict, sample link, send date, reply, and won or lost. A lost sale triggers the cleanup.

Template changes before the first sample

  1. Seals setting. The templates always add the trade's default seals, such as "Satisfaction Guaranteed." Samples need a setting that keeps only seals built from real facts.
  2. One photo size. Samples build one size per photo, to keep files low.
  3. Samples-only combine script. It deploys to Cloudflare and leaves out the template demos and the demo switcher page.

Optional later: showing photos straight from their original address needs a change to the template's image component. Today a build stops when an image isn't in its own folder.

The offer

Full package$1,000-$2,000 buildplus $300 a month for the GHL account and tools
DownsellBuild fee steps downas far as a free website; the $300 a month stays

The email copy decides where price first appears. You review the Opus draft before anything goes out.

Costs at 200-300 businesses a day

StepToolCost
Pickgosom scraper on your Mac$0
QualifyPlaywright screenshots and Claude$0
GatherPlaywright reads of public pages$0
Check emailReacher; Reoon for unsure results$0-3 a month
BuildTemplates, a script, and Opus copy$0 beyond your Claude plan
PublishCloudflare Pages free plan$0
SendThe tool you chooseits monthly fee
TotalPlus the sending toolabout $0-5 a month

Reoon math: about 30% of 300 emails a day come back unsure, which is about 2,700 a month at $11.90 per 10,000 checks. Your Mac has to be on for the daily run.

Hosting for samples

Cloudflare Pages: one project for samples, and a second one only if the file count requires it.

Your decision: "remove vercel and use cloudflare only." (November 13, 2026)

Shared pages: "If anyone besides Jamie will, build it as a static page on Cloudflare Pages (Jamie's own projects; Netlify's free cap pauses every project) with data in Supabase or the self-hosted server, never as an artifact."

Addresses: "Give every deployed app a short readable address, ideally a subdomain of Jamie's domain (for example enrich.<their-domain>)."

Cloudflare's Pages limits for the free plan, read November 13, 2026: 20,000 files per site, 25 MiB per file, 500 builds a month, and 100 projects per account. One deploy a day is about 30 a month.

Risk before launch: anyone with the link can open a sample, and it shows the company's own logo and photos. Search engines are blocked and the sample bar is always on. A sample and its copied files come down after a lost sale, or the same day the owner asks.

Compliance checks

These run before every send.

Email

  1. Business contacts only. Only emails a business lists publicly. No consumers.
  2. Never from GHL or your main domains. Only separate, warmed sending domains.
  3. CAN-SPAM in every email. Real sender, honest subject, a clear "this is an ad" statement, postal address, and a working opt-out honored within 10 business days (FTC guide).

Sample page

  1. Their own facts only. Every fact comes from a public source we kept. No invented reviews, badges, or fallback seals.
  2. Marked as a sample. The top bar names the company and our agency.
  3. Cleanup after a lost sale. The sample and every copied logo or photo get deleted.

First small test

The three template changes come first. Then two parts, both $0:

  1. Scraper run. One feeder run of 300 places in one niche and city, with email finding on. It measures run time, places with an email, and any "unusual traffic" stops.
  2. 10 samples. 10 companies you name, any mix of bad websites and no websites. You approve the first sample before the other nine get built. An Opus agent checks all 10 at phone and desktop widths, then you review them and the email draft.

The test also counts files per sample. Samples stay local until the sending tool and warmed domains exist.

Open decisions

  1. The 10 test companies. You name them when you're ready to run the test.You decide
  2. Sending tool and sample domain, after you pick the tool.Later

Later options

Skills to build after approval

One task each, called in order by the runner redesign-outreach: prospect-pick, prospect-qualify, prospect-gather, prospect-email-check, prospect-sample-build, prospect-preview-publish, prospect-email-draft, and prospect-log.

Plan file: Website system/docs/redesign-outreach-plan.md. Decisions: Website system/DECISIONS.md.

← All Website System previews