open source

Convert more visitors.
Open-source.

Audits, page variants, A/B tests — all in one daemon you can self-host.

https://
cro · seo · compliance · gmc·self-host or hosted·~30s audits
yeti.co
● live
YETI CO
GEAR BUILT FOR THE WILD.

Premium outdoor gear. Free shipping over $75.

Shop the Collection
● bandit · 1 winner shipped this week
100% open sourcegithub ↗MITself-hostable · docker compose upstack · next.js · django · postgresuse your infra · your data · your claude key
four audits, one daemon

Run any of these on any URL.

Paste a URL. Pick a type. Bandit fetches the page, reads it, and ships back an annotated report in ~30 seconds. Same engine — four lenses.

CRO

Conversion audit

Find the parts of your page that are quietly losing buyers — and get drafted page variants ready to A/B test.

  • hero headline + CTA contrast
  • social proof above the fold
  • checkout + pricing friction
  • mobile-fold cutoff
vague headline — predicted lift +18.3%
SEO

SEO audit

The boring-but-essential checks: title, meta, schema, heading hierarchy, speed, and link health on a single page.

  • title + meta description
  • JSON-LD Organization + Product schema
  • H1 / heading topical match
  • render-blocking resources
meta description missing — Google will write its own
TRUST

Compliance audit

The trust-and-policy checks platforms (and buyers) look for. Stops the silent suspensions before they happen.

  • privacy + terms + returns alignment
  • contact info + business identity
  • payment-method visibility
  • checkout transparency
contact email differs across pages — fragmented identity
GMC

Google Merchant audit

Suspension-grade audit for Shopping merchants. The same checks the GMC reviewers run, written as actions you can take this week.

  • misrepresentation + prohibited content
  • shipping + return policy alignment
  • checkout sign-in walls
  • policy contradictions across pages
account suspended for misrepresentation — 6 fixes ready
how it works

Your site, improving itself — quietly.

Three steps. The daemon does all of them. You approve, you keep your job, you read the changelog over coffee.

step.01

Bandit reads the room.

Every session, every scroll, every dead-click is parsed. The daemon learns where attention drops, where copy fails, where buyers hesitate. Not heatmaps — causal hypotheses.

step.02

Bandit drafts the fix.

New headlines, new layouts, new CTAs — drafted as page variants with the rationale attached. Nothing ships without your one-click approval.

step.03

Bandit runs the trial.

Multi-armed bandit allocates traffic to the winners as they emerge. Statistical significance, not gut. Losers are killed automatically.

what it looks like

All your experiments, one terminal.

A live look at what shipped, what won, and what is still in trial. The numbers update themselves.

~/yeti.co/experiments
overview
experiments
variants
sessions
last 30d● live
total uplift / 30d
+38.3%conversion · vs baseline
experiments shipped
hero · headline · v07+18.3%winner
checkout · button copy · v03+11.4%winner
pricing · sticky cta · v02+7.1%winner
homepage · video autoplay−2.1%killed
footer · social proof row+0.3%trial · 4d left
conversion · 30d
baseline 2.81%now 3.89% ↗
try it on your site

See what bandit finds on yours.

Annotated feedback on your actual page. ~30 seconds. No install. No card.

https://
pov

You wanted to run one A/B test.

Three weeks later, you have eleven Slack threads, two stand-ups, a Figma comment storm, a Jira ticket no one owns, and zero experiments live.

experiments launched0
calendar
Experiment sync — Thu 2:00 PM
3 attendees
slack · #design
need the brief first 🤷
@alex · 12m
jira · EXP-142
Moved to In Review
Blocked by · DESIGN
priority · low
gmail · re: hero copy
looping in legal — they want to see the new copy first
7 in thread
figma · homepage v8
added 3 comments. ping me when ready 👋
@taylor · 2h
slack · #growth
who owns this experiment again?
@morgan · 8m
jira · EXP-143
Awaiting eng estimate
no assignee · 6d
calendar
retro — what we shipped this sprint
tomorrow · 9:00 AM
bandit · 4 minutes later
hero · headline · v07 — +18.3% · auto-shipped
why open source

CRO tools should be code, not contracts.

Closed-source CRO platforms charge $1k–$5k/mo and lock your traffic + experiment data inside their dashboard. Bandit ships the same engine — audits, variant generator, multi-armed bandit allocator, A/B snippet — under MIT license. Clone the repo. Run it on a $5 droplet. Bring your own Claude key. The data stays in your Postgres.

$ git clone
Self-host in 60 seconds

Docker compose. Postgres + Django + Next.js. Runs on your laptop, your VPS, or your cluster.

$ ANTHROPIC_API_KEY=...
Bring your own LLM

Drop your Claude or OpenAI key in .env. Runs locally — keys never touch our servers.

$ fork → tune → ship
Your prompts, your rules

Edit the audit prompts, swap the bandit algorithm, fork the dashboard. It's all in one repo.

faq

The questions we get most.

How does bandit actually change my site?

A small JS snippet. About 4kb gzipped. It loads asynchronously, defers rendering nothing, and only swaps the elements you have explicitly opted into. The original page is the control — your visitors who get the variant are sampled at the percentage you set.

Will this break my site?

Only if you let it. Every variant is preview-able first. Every variant has a kill switch. The snippet has a global circuit breaker — if anything throws, we serve the original instantly. We have not broken a customer site in 18 months of running this in production.

How do you decide what to test?

We look at the highest-traffic page where session recordings show the most early drop-off. That is almost always the hero or the primary CTA. We start there because the math is easiest: you reach significance faster.

How long until I see lift?

At ~10k weekly visitors on the page, most experiments reach 95% confidence in 5–7 days. Lower traffic = longer trial; higher traffic = faster. The multi-armed bandit also begins biasing traffic toward winners after about 48 hours, so the lift starts before significance lands.

What if I do not like a variant bandit shipped?

Hit revert in the dashboard. The variant rolls back instantly across all visitors. We log the revert and bandit will not propose anything similar for that surface for 30 days.

Is my data shared with other customers?

No. Page text, screenshots and session metadata stay scoped to your workspace. We do not train shared models across customers.

Run the daemon. Keep the data.

Run a free annotated audit on the hosted plan, or clone the repo and self-host the whole stack. CRO · SEO · Compliance · GMC — same engine either way.

try the hosted plan →clone the repo ↗