Decks don't close SEO retainers. A local SEO pitch template is what does. I built one in May when three SEO projects landed in the same week.
A friend asked me to help him close a local-SEO retainer. The deck he was sending was not closing. He needed a pitch artifact that frames a verdict and shows the work.
My own brand site needed local SEO and GEO infrastructure. Rank tracking. AI Overview presence checks. A rewrite list for pages stuck on page two.
A second friend asked me to help his uncle's small business get into the local pack on Google.
Three scopes. Three people. Same underlying work.
So I stopped building three things. I built one folder. Then I pointed it at each project.
Five birds. One stone.
The five birds
Bird 1: A pitch artifact that closes. A 6-page site that opens with a one-number verdict, shows the dollar value of the visibility being handed to competitors, lists the gaps the audit found, ends with a phased plan and a price. Real DataForSEO numbers throughout.
Bird 2: My own site's SEO infrastructure. A biweekly DataForSEO sync writes rank snapshots to Supabase. A dashboard at /admin/seo shows rank deltas, SERP-feature presence, top competitors, recent sync runs. Costs about $10 a year to run.
Bird 3: A second audit, no rebuild needed. Same pipeline. Pulled the data for friend two's uncle. Dropped it into the same templates with new brand placeholders. Pitch artifact ready in an hour.
Bird 4: A reusable template. The pitch site and the dashboard read from the same data file. Swap the file, the whole UI repopulates. Brand name lives as a placeholder Claude can rewrite from the prospect's site.
Bird 5: A lead-gen system, being built this weekend. Same templates, plus a scraper that finds local businesses ranking on page two of money keywords, runs the audit on each one, drops the prefilled artifacts in a folder, and sends a link to the buyer. Tested next week on real prospects.
What this local SEO pitch template shows
The first page is the verdict. One number, one sentence, one decision.

The second page is the dollars. Real DataForSEO traffic value, plotted as what those clicks would cost the prospect in Google Ads if they were not ranking.

The plan page closes with the phased sequence and the price.

What the dashboard does
Same data file. Different surface. The dashboard is what the prospect logs into after they sign.
Effort hours in the denominator. Otherwise you spend 80 hours moving a 3 percent needle.
Every action is scored:
(impact_per_month × probability_it_works) ÷ effort_in_hours
The top action scores 100 because the impact is $11,907 a month, the effort is 10 hours, the win probability is 55 percent. The next one scores 92 because the impact is lower but the effort is too. The math sorts itself.



Why one folder handles three projects
The pitch site is 6 HTML files plus one data.js. The dashboard is one HTML file plus one cc-data.js. Both data files come from the same DataForSEO pull.
For each new prospect:
Run the audit script. About $0.50 in DataForSEO calls.
The script writes the two data files.
The brand name in the templates is a placeholder. Claude reads the prospect's actual site (title tag, services nav, contact page) and rewrites the placeholder with real values.
Static folder ships to the buyer.
Nothing on the buyer's end. They open a URL, see their own business name, see real data about their own market. That is the magnet.
Live previews
Both artifacts are hosted on this site. Open them on a desktop. The layout assumes 1200px or more.
The pitch site. 6 pages, verdict to plan.
The dashboard. The system the prospect logs into.
The brand name "HVAC Company" is a placeholder. The Orlando data is real. The version that ships to a real prospect has their name, their city, their numbers.
Next Friday is bird 5. The automation layer. How the scraper finds the prospects, the audit pipeline runs against each one, the templates prefill, the link lands in a folder. Building this weekend. Live in production next Friday. Testing on real local businesses the week after.