You own your lead-capture website outright. You can change anything on it and publish those changes live yourself — just by talking in plain English to an AI assistant called Claude Code. No coding. This guide takes you from a fresh computer to editing and publishing on your own.
Your website was handed to you as a single folder. You open this folder in your editor and everything is inside it. The site has two landing pages, both feeding the same lead form:
/) — your main long-form page, ending in the quiz./cash-offer) — a quiz-first page built for paid ads.Plus the standard About, Contact, Privacy, Terms, DMCA, thank-you (/offer-confirmation), and 404 pages. There is no standalone /offer page. Both landers include a required SMS/text consent checkbox (the form will not submit until it is checked). The template can run as a personal brand (you, by name and photo) or a company brand ("we"/your company name, no individual pictured) — you pick during setup, and the SETUP file walks you through it. Here is what each part of the folder is — you will rarely touch most of it; Claude handles it for you.
| In your folder | What it is |
|---|---|
| index/ | Your actual website — the two landing pages (Home + Cash Offer) and every other page (about, contact, privacy, terms). This is what visitors see. |
| functions/submit.js | The behind-the-scenes code that handles your lead form: sends the lead to your CRM, saves a backup copy if you turned that on, and emails you if a delivery fails. Don't edit this by hand. |
| deploy.sh | The publish button. When you say "publish my site," this is what runs. It also refuses to publish while any template placeholder is still unfilled, so a half-finished site can't go live. |
| test-form.sh | A smoke test. It sends ONE test lead through your live form so you can confirm delivery end-to-end (delete the test lead from your CRM afterward). |
| SETUP - fill these in.md | Your fill-in checklist. The site arrives as a template full of [[PLACEHOLDER]] values (company name, owner name, etc.); this file lists every one. Claude works through it with you. |
| CLAUDE.md | The instruction sheet your AI assistant reads automatically. It already knows how to edit and publish your specific site. |
| START HERE - Setup and Workflow.md | A written copy of this same guide, kept inside your folder for reference. |
The easiest path: do the one-time setup in Section 3, then open the folder with Claude and say "Read the setup file and help me fill everything in." It walks you through every placeholder and key below.
You will run your AI assistant inside a free program called VS Code. We recommend this over every other option, and here is the honest reason:
Bottom line: install VS Code and use Claude Code inside it. The rest of this guide assumes that.
You will install four free tools, then open your website folder. Do them in order. You only ever do this once.
Your workspace. Download from code.visualstudio.com and install it like any normal app (Mac or Windows).
Runs quietly in the background; it is what lets your site publish. Download the LTS version (the one labeled "LTS," not "Current") from nodejs.org.
Open VS Code, then from the top menu choose Terminal > New Terminal. In the panel that opens at the bottom, type this and press Enter:
npm install -g @anthropic-ai/claude-code
When it finishes, type claude and press Enter — it walks you through signing in. You need a paid Claude plan (Pro or Max). Official guide: claude.com/claude-code.
In that same terminal, type this and press Enter. You will never run it by hand — the publish step uses it for you.
npm install -g wrangler
In VS Code: File > Open Folder, then pick your website folder. Open a terminal (Terminal > New Terminal) and type claude to start your assistant inside that folder. It reads your CLAUDE.md automatically, so it already knows your site.
For publishing, the simplest path is to just ask Claude to "publish my site" and let it handle everything. If you prefer to run commands yourself, install Git Bash (it comes with "Git for Windows") and use that terminal.
This 3-minute video walks you through installing VS Code and Claude Code from a blank computer — made for people who have never opened a terminal.
Watch it for one thing: how to install VS Code and Claude Code (Steps 1 and 3 above). In the video he then builds a brand-new app — you can ignore that, because you already have a website and only need to edit it. Two things this video skips, which you get from this page instead: installing Node and Wrangler (Steps 2 and 4), and publishing — for which you simply tell Claude "publish my site" (Section 5).
Want a slower look? These are optional:
Your site is fully in your name. A few outside services power it, and each one is yours. Below, each item is tagged with who handles it.
Your website lives on your own Cloudflare account (along with your lead-backup database). You'll grab two things from it (your account ID and an API token) so your computer can publish, and you'll set your form settings there too — they live in your Cloudflare project, not in a file, so they stay put every time you publish. If FlipAnywhere built your site, these are already in place — this is for when you set up or change them yourself.
These control where your lead form delivers. They live in the Cloudflare dashboard — not in a file — so they survive every publish and you never re-enter them.
ZAPIER_WEBHOOK_URL — your CRM webhook (Section 4d), where every lead is sent.CLIENT_EMAIL — the email address that should be alerted if a lead ever fails to deliver.RESEND_API_KEY — optional; only if you set up the Resend failure alarm (Section 4c).Claude can't reach your Cloudflare dashboard, so you add these on the website yourself — but ask Claude and it will tell you exactly what to click.
Your site keeps a copy of every lead in a small database (Cloudflare D1) on your own account, independent of your CRM — so a lead can never be lost even if a delivery fails (see Section 6). This is a required part of setup: the post-publish smoke test fails until it's in place.
db.Required for a supported production setup. Leads may still reach the CRM without it, but you lose the independent backup and setup verification.
www record is missing, add a CNAME: name www, target = your project URL (the …pages.dev address on the project's page, not the bare domain).Save your API token somewhere safe the moment you create it. Cloudflare shows it once — if you lose it, delete it and make a new one (you can edit a token's permissions later without regenerating, but you can't re-view the value). Anyone with this token and your account ID can act on your account, so never paste it into a public place.
You do not need to create a Worker or new project. That part of the video is only demonstrating where the Account ID remains visible.
This powers the address autocomplete and the house-photo preview on your form. Without it, the address box won't work, so set this up before you go live.
yourdomain.com/* and www.yourdomain.com/*). This key is visible in your page source by design, so the restriction is what stops anyone else from running up your bill.Then open your site with Claude and say:
Here is my Google Maps API key: [paste it].
Please add it to the site and publish.
Resend emails you only if a lead ever fails to reach your CRM, so you can follow up by hand and never lose one. Your leads are always saved either way (see Section 6), so this is a safety net, not a requirement. See Section 6 for exactly why this alarm matters.
alerts@yourdomain.com).Then tell Claude:
Set up Resend. Send from alerts@yourdomain.com,
and notify me at [your email].
Claude wires the sending addresses into your site. The API key itself goes in as the RESEND_API_KEY environment variable in your Cloudflare dashboard (Section 4a) — Claude will point you to the exact screen. If you skip Resend entirely, nothing breaks; you simply won't get the failure email.
This is the connection that delivers every lead into your CRM. You create the webhook in your CRM (steps below), then paste its URL in as the ZAPIER_WEBHOOK_URL form setting in your Cloudflare dashboard (Section 4a). If FlipAnywhere built your site, this was done during your build.
If you delete that Zapier zap / GHL workflow, your form stops delivering leads until you create a new webhook and update the ZAPIER_WEBHOOK_URL setting in your Cloudflare dashboard to match. Changing CRMs? Set up the new webhook first, then swap the setting.
ZAPIER_WEBHOOK_URL setting (Section 4a) → send a test lead (ask Claude to run the included test-form.sh, or submit your live form once) → finish mapping and save.Webhook setup videos already live in the Academy — start here:
Two steps, always: edit, then publish.
Open your folder in VS Code, start Claude (claude in the terminal), and tell it what you want in plain English:
Claude makes the change and shows you what it did. Nothing is live yet. One tip: you have two landing pages (Home and Cash Offer), so if a change should hit both of them, say "everywhere" or "on both landing pages" — otherwise name the page you mean.
When you're happy, tell Claude:
Publish my site.
It publishes everything and confirms when it's live, usually within a minute. Make several edits, look them over, then publish once — you don't need to publish after every change. (If any [[PLACEHOLDER]] from your setup is still unfilled, the publish step stops and tells you which one — fill it in, then publish again.)
Every time someone submits your form:
That's why a lead can never silently disappear. To see your backup copies any time, just ask Claude: "Show me my most recent leads from the backup database."
Here's the gap it closes. Imagine Facebook reports that a lead came in — but nothing shows up in your CRM. Facebook only tells you a lead happened (a count); it never hands you the person's name or number. The actual contact details are sitting safely in your backup database — but only if you go look.
The optional Resend alarm closes that gap: instead of you having to notice the mismatch, it emails you the moment a lead fails to reach your CRM — with the contact info and a backup ID to pull it. Two layers: the backup database means a lead is never lost; the alarm means someone is actually told to go get it.
Many CRMs can also email you on every successful new lead — that's worth turning on too. The difference: your CRM notification fires on success; the Resend alarm fires on failure. They cover different moments.
When anything is unclear or something breaks, describe it to Claude in plain English. It can read your files, explain what's happening, and fix it — e.g. "the address box on my form stopped working, can you check it?"
Some steps happen on other websites (like setting up your Google Maps key). For those, add the Claude browser extension:
Your website is built around Claude. Other AI tools may be able to help, but we don't provide instructions or support for them. To keep things simple and fully supported, use Claude.