Persona testing

They’re browsing your site right now.
And they have some feedback.

AI personas with distinct backstories visit a site the way real people would — with a goal, no map, and no patience — and tell you, in their own words, what confused them. We point them at our own site and publish what they find. Here’s the proof it works.

AI-persona observations — they behave as real people would; they are not human testers.

How it works

A persona, not a script

Each tester has a real backstory — Grandma Pat, a busy contractor, a first-time founder. They read like the person, not a checklist.

A goal, then loose

They get a first-time-visitor goal (“order dinner”, “figure out what this costs”) and browse autonomously — cost- and step-capped.

A first-person account

The finding is what they experienced, in their voice — “I couldn’t tell whether the 20% was mine or theirs” — not a tidy recap.

A human decides

Every finding lands as an unconfirmed claim. A person confirms it against reality before it becomes real work — and we log what we fixed.

Where it fits

The layer your unit tests and CI can’t cover

Assertions check what you told them to check. A persona notices what you didn’t — the confusion a first-time visitor hits that no test was written for. It’s the continuous, agentic layer of a testing pipeline, and we run it on our own sites first.

The pipeline in developmentfast & cheap → broad & slow
on save

Unit tests

jest, over deterministic cores

catches: parser / formatter / clamp / money regressions

every PR

CI/CD gates

lint + typecheck, RLS & migration audits, a prerender build

catches: type / lint errors, un-RLS’d tables, build-only landmines

on demand

Screenshot validation

curl the served bytes; a headless browser (or a careful eye) on the real render — not yet wired into CI

catches: green-but-wrong renders — copy present, reading order, contrast

writemergedeploylive

Each layer catches what the one before it can’t. The last one isn’t internal tooling — AI Personas is a product we ship, run on our own surfaces first, so what a customer gets is the thing we already trust our own pages to.

The honest gap: the amber layer — the rendered-artifact check that has caught our most expensive bugs — is also the least automated, and it’s the same on the QuickSites half of this mesh. It’s the only stage that needs a deployed artifact to point at, so it can’t run the moment you write the code; today it runs by discipline, not on a cron. The highest-value check being the least automated isn’t an oversight to hide — it’s the honest shape of the problem, and naming it is the point.

Each persona is a real backstory the agent inhabits — the point of the backstory is the blind spot it removes:

Marcus, 34

Who they think they are

Hungry at 7pm, wants dinner he can actually get tonight. Low patience for a sign-up wall between him and a menu.

What they notice

Every dead end between landing and an order — and the moment he’d bounce to a delivery app instead.

Priya, 51

Who they think they are

A restaurant owner who got sent a link about her own kitchen. Skeptical: who made this, is it real, what does it cost me?

What they notice

Whether an unclaimed page reads as a trap or an offer — and where the “claim it” path hides.

Dana, 38

Who they think they are

First job search in nine years. Doesn’t know the current jargon and won’t pretend to.

What they notice

Every place a page assumes knowledge a newcomer doesn’t have — the word that quietly excludes.

Want the full picture — how this sits alongside unit tests, CI, and screenshot checks? How we test →

Proven with a real partner

A persona found a real gap. It’s now fixed on the live homepage.

We pointed the personas at QuickSites, a sister product. One persona, Daniel, tried to work out what the company did — and hit a wall:

“I wanted to know if they had templates for different industries, but I couldn’t find that information easily.”

He was right. The homepage was wall-to-wall commerce and reseller copy and never once mentioned that QuickSites has 57 industry-specific starting points — a genuine differentiator, invisible to a first-time visitor. A human read the source, confirmed the gap, and promoted the finding to real work. QuickSites wrote an industries section the same session, and — after review — shipped it to the live homepage.

  1. Persona browses
  2. Files a claim
  3. Human confirms vs. source
  4. Becomes real work
  5. Homepage fixed

Live — on our own site

What our personas found on HiveJournal

We run this on ourselves, in the open. Nothing here is cherry-picked to flatter us.

The personas are still browsing. Confirmed findings show up here as we review them — including the ones we haven’t fixed yet.

Simple, pay-per-use

A generous free tier, then credits

Verify a domain you own and get free credits every month — about three reports, no card. One credit runs one persona toward one goal; a typical report is a few credits. Need more? Buy a credit pack. No seats, no annual contract.

  • · Free — ~3 reports / month, every month
  • · Credit packs — from ~$0.23 per report at the largest pack

Delivered where you work

A report, a Slack ping, or a webhook

Every run produces a shareable report page. You can also have the results land as a message in your team’s Slack channel the moment they’re ready, or POST to a webhook into your own tools — no dashboard to babysit.

📄 Shareable report💬 Slack channel🔗 Webhook

Why some findings stay unfixed on this page

If a testing tool can never come out against you, it’s broken. A page where every finding is “fixed” would be as untrustworthy as one where none are. So we leave the open ones open, mark the shaky ones shaky, and only a human — never the AI — decides a claim is real. The finding that stays a claim is what makes the confirmed one mean something.

Persona testing — they browse your site as real people would · HiveJournal | Lovio