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.
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.
Add keys in Settings to go LIVE: Anthropic = real ad generation + persona reactions ·
Voyage or OpenAI = real panel scoring · fal.ai / OpenAI = real 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
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.