Ads you're tracking over time - auto re-tested against your current panel.
Creative briefs
Production briefs written from your panel-validated winners - script, storyboard, and do/don'ts grounded in what buyers said.
👋
Let's create your first adDescribe your business, generate concepts, and the panel scores them before you spend a cent.
Create & rank
Generate ad concepts and pre-test them on a synthetic buyer panel - before spending anything.
What are we selling?
Brand details
Ready - the panel will judge exactly this image.
Reference ads & options - competitor intel, formats, persona count
✦
Describe your business above, then generateYour ads appear here - designed so you can see them, then select and review.
Rank my ads
Already wrote ads? The synthetic panel tells you which one to run - no generation needed.
Your ads - one per line, Headline | Primary text
⇅
Paste two or more ads and rank themEvery ad gets a purchase-intent score, hooks ×8, and each persona's why.
Copy Lab
The same buyer panel, pointed at any copy: email subjects, headlines, CTAs, product names, taglines, push notifications, offers, video hooks. Paste variants, get a ranked verdict with every buyer's why.
✎
Paste 2-10 variants aboveThe panel reacts in the moment it matters - inbox, lock screen, checkout - and ranks them.
Landing pages
Your ad won the click - does the page win the sale? The same buyer panel reads each landing page, scores purchase intent, and suggests fixes.
Landing page URLs - one per line, up to 5 (compare variants or competitors)
Each page is fetched (bot-protected sites handled), its copy extracted, and the panel reacts as buyers who just clicked your ad.
🌐
Paste one or more URLs and testEvery page gets a purchase-intent score, the panel's words, and the top conversion fixes.
Swipe file
Save and organize winning ads - competitor intel, your own top concepts, anything worth stealing from - into boards, then feed a board straight into generation as references.
Audience panel
Define who judges your ads - no ad-platform audience needed. Pick a ready-made audience, upload your platform data, or describe your own.
Once built, every scoring run uses this panel - Create & rank, Rank my ads, and the Results loop. Without one, a panel is auto-generated from your business description each run.
👥
No custom panel yetScoring auto-generates one from your business description. Describe your audience above to take control.
Results loop
Upload your Meta results export - winners feed the next round, losers go on the kill list, and the panel recalibrates against reality.
Use the same ad names you generated here so results match back - that's the calibration join.
↻
No results yetRun your winners on Meta, export the ad-level CSV, drop it here.
No matched results yet. Import a campaign export above and the report appears here.
Performance
Your live Meta results, joined to the ads you made here. The Copilot diagnoses what's working, where budget is wasted, and proposes the moves - you approve each one.
📊
Connect Meta and load your numbersAdd your Meta token in Settings, then Load performance. Without a token you'll see a sample so you can explore.
Forecast
Upload a dated metrics export (Meta / Google / TikTok day breakdown) and project each campaign forward - trend, weekly rhythm, and an uncertainty band for what's ahead.
Needs a date/day column and a numeric metric (ROAS, spend, CPA…). Add a campaign/ad column to forecast each series separately.
↗
Charts appear hereHistory, projection, and an uncertainty band per campaign.
Library
Every run you've scored - generations, boards, images and the panel's words. Click one to reopen it.
RunsLeaderboardPatterns
🗂
No runs yetGenerate, rank or evolve something first.
How BuyerPanel works
One loop: create ads, prove them on a synthetic buyer panel before spending, evolve the winners, ship to Meta, and learn from real results.
1
CREATE & RANK
From one sentence to designed ads you review
Paste your website URL (the brief fills itself in) or describe what you sell. Optionally open Reference ads & options to
paste competitor ad text, pull live competitor ads from the Meta Ad Library, or drop up to 12 winning ad visuals - their hooks,
layouts and angles are read and folded into the brief. Generate ads writes the concepts and designs each one as a finished
image so you can see them first. Refine them with feedback or design more, then select the ads worth testing and Review -
the panel judges the finished creative (not the raw concept) and gives you purchase intent 1-5, the score distribution, and each buyer's why.
2
EVOLUTION MODE
Winners mutate, losers die - automatically
Set a target intent score (default 3.8) and press ⚡ Evolve: generate → panel judges → the top ads mutate (sharper
hook, added proof, identity, urgency) while losers join the kill list → repeat until the best ad clears the bar (up to 6
generations). Winners carry forward with their scores, so the best ad is never lost. You get a board per generation, the
improvement curve, and the best-intent number. Dozens of ads tested, $0 spent.
3
RANK MY ADS
Already have ads? Test them first
Paste them one per line (Headline | Primary text), drop a CSV, or drop finished image ads
(PNG/JPG, multiple at once) - the panel judges the actual creative, not just the words.
4
LANDING PAGES
The ad won the click - does the page win the sale?
Paste up to 5 landing-page URLs (variants, or competitors). Each page is fetched, its copy extracted, and the same
buyer panel reacts as people who just clicked your ad: purchase intent per page, the panel's words, and the top
conversion fixes. Rank your page against a competitor's before spending on traffic.
5
AUDIENCE PANEL
You decide who judges
Pick one of 16 ready-made audiences (ages 16-80, US & EU), upload your Google demographics export, or describe your own
buyers. Hover a persona card to remove individuals; Clear returns to auto-generated panels. Once built, every scoring run
everywhere uses this panel.
6
PER-AD TOOLKIT
From concept to finished creative
On any ranked ad: Render image (Claude Design / Seedream / Nano Banana / GPT Image 2 · 1:1, 4:5, 9:16) → Panel-test image → Download PNG in high resolution
(visual intent vs text intent) · Hooks ×8 (headline variants, panel-ranked) · UGC script (panel-scored;
render it as a real avatar video with voice + lip-sync via HeyGen) · Export (zip: creative + copy + calibration
handle) · Send to Meta.
7
SEND TO META
Always paused - nothing spends without you
One click creates the campaign, ad set and ad in your own Ads Manager, all PAUSED - you review and press
go there. One-time setup (~10 min, no Meta review needed): Settings → "Connect Meta in ~10 minutes".
8
RESULTS LOOP & FORECAST
The loop learns from your real results
After your winners run, drop the ad-level results CSV in Results loop: winners become references, losers go on the
kill list, the next round generates automatically, and the calibration score (panel score vs your real ROAS) sharpens with
every upload - keep the ad names unchanged so results match back. Forecast projects any dated metrics export forward
with uncertainty bands. Library keeps every run reopenable.
✓
DEMO vs LIVE · KEYS · CREDITS
What unlocks what
With no keys, everything runs on honest placeholder data (badge says DEMO) so you can learn the flow.
The fastest way live: one OpenAI key runs the whole product - generation, persona reactions,
panel scoring and GPT images. Mix for best quality: Anthropic = ad generation + persona reactions ·
Voyage or OpenAI = panel scoring · fal.ai / OpenAI = images ·
HeyGen = real avatar videos · Meta tokens = competitor intel + publishing.
Keys are stored per-account and masked. Actions meter credits (sidebar shows your balance).
Settings
Bring your own API keys. Each key unlocks a capability; everything runs in demo mode until then.
Ad generation & persona reactions - Anthropic or OpenAI
Panel scoring - Voyage or OpenAI embeddings
Image rendering - fal.ai and/or OpenAI
Keys are stored per-account and masked after saving. Leave a field as ******** to keep it unchanged.
Publish to Meta - send ads to your Ads Manager as paused drafts
Every ad card gets a Send to Meta action: campaign, ad set and ad appear paused in your own account - you review and press go there. Nothing ever spends without you.
Connect Meta in ~10 minutes (one-time)
1 · Go to developers.facebook.com → Create App → type Business. (If you run Meta ads, you already have the account this needs.)
2 · In the new app, add the Marketing API product.
3 · In Marketing API → Tools, generate an access token with ads_management + ads_read.
4 · Grab your ad account ID from Ads Manager (it's in the URL: act_1234…) and your Facebook Page ID (Page → About).
5 · Paste all three above and save.
Because it's your app managing your ad account, Meta requires no App Review - dev mode covers it. The default token lasts ~60 days (re-paste when it expires); a Business Manager system user token never expires.
Copilot guardrails - limits the Performance optimizer respects
Used to diagnose winners/losers and to bound every one-click change. Nothing is ever applied without your click.
Brand kit - makes every rendered ad look like your brand
Your colours, fonts and logo are baked into every image the panel designs, so a whole generated set is consistent - not random.
Saved keys unlock live generation instantly - no restart needed.
Weekly digest preview
Team
Share one brand kit, buyer panel, saved audiences and library with your team - invite by email, one shared workspace.
Recent activity
Who did what in this workspace - runs, publishes, live changes, settings and team membership.