
Hey all, happy Friday,
For Mother’s Day, we took James to the Whitney Biennial, which also coincided with the second Sunday of the year, which means it was free! Which I am glad about, because honestly, we all determined (Maddie, her parents, James, Linus, and I) that most of the artwork was largely not for us. James ignored most of it, except for a ceiling projection of flying plastic bags and newspapers, and a painting of an older couple. A museum curator actually walked up to me as James was staring and said, “All pre-communicative kids are obsessed with this painting. He is not the first one.”
So my son’s first artistic opinion is the same one shared by every other baby. 🎶 Ants Marching 🎶 or something like that.
After about 30 minutes, we decided it was time to find a playground. We’ll rack that decision up to James screaming.
We hit a park a few blocks away. It’s funny: the parents in the West Village are the same but different from those in Park Slope. IYKYK.
James is big enough now to play throughout the entire playground. The slide produced several severe laughing attacks. And I will say the little dude is obsessed. We walked past the playground in Prospect Park this morning, and he stared at the slide, trying to steer his stroller toward it. Dude needed his fix. He was practically tweaking.
After the playground, we had dinner at Lavagna in the Lower East Side. If you haven’t been, it’s great: I highly recommend the rigatoni. James ate most of Maddie's salmon, ignored his own margarita pizza, and kept reaching for the olives on the table.
Yes, you heard that right. Our 1.5-year-old prefers olives and salmon over pizza. The kid is either a food prodigy or a sociopath. I have not ruled out either.
If he starts ordering his coffee black, we will know which.
Anyway,
Gruns got acquired by Unilever for $1.2 billion.
Gruns built forty-one landing pages.
Not forty-one variations of the same page.
Forty-one separate pages, each one matched to a single winning ad angle.
One page for the kids who hate vegetables angle.
One for the busy mom angle.
One for the pediatrician-formulated angle.
Different headline, different photography, different proof, different FAQ.
Meanwhile, most folks are still sending everything to their homepage and calling it a strategy.
We shipped six landing pages for a beverage client. We cut CAC by 30% in one week (this is not an exaggeration), matched the ad angles word for word. Same headlines. Same personas.
This is all thanks to Claude Code, and guess what I have built for you (this is the way, and yes, that is Linus—or slimmed down AI Linus—in the thumbnail):
The Fix: One Ad Angle, One Page
Build the landing page around the winning ad angle. One ad, one page.
Not “we will write the page once and run all our ads at it.” Not “we have a great evergreen page with a hero section.” A page where every section earns the ad’s promise.
This used to take weeks and cost a fortune. You can now do it in a day (and it scales exponentially).
Concretely, six things move the needle:

The hard part is that this means more pages. A brand running twelve campaigns might end up with twelve pages.
Yes. That is the point.
The math only works if each page is shorter and tighter than your current generic LP.
That only works if you can build them fast. Because no one is going to build 12 landing pages by hand. I barely have the patience to build one by hand. And that is why I am writing this newsletter.
The Demo
For this newsletter, I wanted to showcase this on a real brand with a real winning ad.
One Claude Code session.
The ad is for Jones Road’s Miracle Balm.
The angle is “the no-makeup makeup for chronically late people.” Real winning angle, real brand, real product. (Cody, if you are reading this, the page is a compliment.)

And here is the landing page I built around it:
The Workflow: How I Built It In Claude Code (and how you can too from the comfort of your own home!)
The page I just showed you took about thirty minutes to build. Here is the workflow:
You drop four things in a folder, paste one prompt, get back a working page.
(It took me longer than that the first time because I kept second-guessing the prompt, but the actual workflow is about ten minutes once you stop overthinking it.)
Step 1: Gather your four inputs

Step 2: Paste the prompt
The full prompt is in the download at the top and bottom of this email. It tells Claude Code to read your four files, build a self-contained index.html with every section in order (hero, USPs, problem, solution, founder, buy block, compare, how-to, reviews, FAQ, guarantee, final CTA), and match the brand’s voice and palette.
Step 3: Open and iterate
Claude Code reads the ad, reads the bible, asks you one or two questions (“what is the brand’s product URL?”), and writes you a working index.html. I genuinely do not know how it builds a functional cart drawer from a one-line persona note, but it does. Open it in a browser. Keep the conversation going: “The hero is too dense.” “Add a row to the compare table.” “The FAQ needs to match the persona.” Claude Code edits in place.
I use Wispr AI for this to help speed up the process.
Step 4: Deploy it live
Once the page looks right, paste this into Claude Code:
Deploy this folder to Vercel. Give me the live URL when it is done.
That is it. Claude Code handles the install, the auth (opens a browser window once), and the deploy. You get back a live URL in about 30 seconds.
No GitHub, no build step, no config files. I kept waiting for the part where it breaks and it just did not. The Jones Road demo was deployed exactly this way.
To update after edits, paste the same command again. Same URL, updated page.
Cost: Claude Code is $20/month. Vercel deploy is free on the hobby tier. The most expensive part of this workflow is the coffee you drink while Claude writes.
From One LP to a Repeatable Template
The workflow above is the zero-to-one version. Once you have run it three or four times for the same brand, the same sections and voice decisions keep showing up. That is your template emerging.
The download file includes the four-step process for building a brand template from reference LPs. The short version: screenshot 5 to 10 high-performing LPs in your category, have Claude Code deconstruct them, cross-reference with your brand bible, save the output as brand-lp-template.md. Every future LP inherits from it.

That delta is the template. The first page took me most of a day. By the fifth page for the beverage client, I was done in ninety minutes.
What This Does Not Do
It does not write good copy for you. If the ad angle is weak, the page will be confidently mediocre. Claude Code builds the architecture and matches the voice, but the insight has to come from you. I deleted two full sections from the Jones Road page that I was very proud of. They were not earning anything.
TLDR
A winning ad deserves a 1:1 landing page. Same headline, same persona, same proof, same vibe.
Most marketers point traffic at one generic LP and wonder why CVR drops. The visitor has to bridge the gap. Most will not.
I built a working Jones Road Miracle Balm LP around their “no-makeup makeup for chronically late people” angle: jones-road-lp.vercel.app
The workflow: drop four things into a Claude Code session (ad image, brand images via Imageye, brand bible, persona note), paste the prompt, get a working page, deploy with one more prompt. Download below.
Build a brand template after your 3rd or 4th LP. The first page takes forever. By the fifth one you are dangerously fast.
Reply if you run this on one of your own ads. I want to see how the briefs differ across categories. Beauty looks nothing like supplements looks nothing like swimwear. The deltas are the interesting part.
Have a great weekend.
Will
