Use case

Ad and landing teardown

Name the hook, check the CTA and score the ad for a developer audience.

The problem

Creative reviews are opinions. You want a repeatable score.

What your code does with the answer

Rewrite headlines that do not land in `number` or `fear` and have a weak score.

Reading an ad like a rubric

The ad copy is the state; three questions score it: hook (choice: a specific number, a risk if you do nothing, social proof, or other), clear_offer (is the next action obvious from the CTA) and strength (score from weak to strong for a developer audience). The sample — "Cut your LLM bill 80%", "Jev decides in 200ms", "Get API access" — reads hook=number, a clear CTA and a strong score: a good ad by the numbers, which is exactly what you want before the subjective argument starts.

From scores to revisions

The rewrite rule: rework the headline when the hook reads other AND strength is under your bar; keep CTAs that score high on clear_offer, rewrite the ones that do not. Run it over a campaign in one pass — a few hundred tokens an ad, so a month of creative is a few dollars. What the score cannot replace is testing: it kills weak variants before you spend on them.

Pitfalls specific to ad teardown

Scores are rubrics, not verdicts: a strong-scored ad that tests badly needs the criteria adjusted, not the ad defended. Review hook criteria ("number, fear, social proof") as your audience ages — developer advertising patterns move. And keep the "other" bucket honest: an ad whose hook is genuinely something new is a finding worth reading, not noise to route around.

The request shape

This is the full request the playground sends for this preset — the same JSON your server sends to /v1/systemone with a Bearer key.

curl
curl https://jevai.website/api/v1/systemone \
  -H "Authorization: Bearer $JEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "state": "Headline: \"Cut your LLM bill 80%.\" Body: \"Jev decides in 200ms. Start free.\" CTA: \"Get API access\".",
  "questions": {
    "hook": {
      "type": "choice",
      "instructions": "What kind of hook is the headline?",
      "criteria": {
        "number": "A specific number or saving",
        "fear": "A risk if you do nothing",
        "social": "Social proof",
        "other": "Something else"
      }
    },
    "clear_offer": {
      "type": "noul",
      "instructions": "Is the next action obvious from the CTA?"
    },
    "strength": {
      "type": "score",
      "instructions": "How strong is this ad for a developer API?",
      "criteria": [
        "Weak",
        "Average",
        "Strong"
      ]
    }
  }
}'

FAQ about this use case

Is "80% savings" legal to claim?
Different question — the read scores execution, not truthfulness. Claim substantiation stays with your compliance process; if you need it as a typed check, run it over the supporting evidence separately.
Does the body matter as much as the headline?
In this preset, strength reads the whole unit. A hooked headline on a meandering body pulls the score down — and the drill-down questions tell you where.
What about non-English ad copy?
Send the ad as-is and keep criteria in your scoring language, or write the criteria in the ad's language. Test both settings on past campaign winners and keep whichever agrees with your judgment.
Run this in the playground