Paste a URL. Firecrawl fetches the page, then Jev scores whether the answer block is worth citing.
Use this when auditing a page for AEO and you want title, canonical, and noindex checks in code while Jev judges the citation-worthiness.
Similar patterns, and when each one is the better fit.

SEO AuditUse this when a marketing team needs exportable SEO scorecards that check title, meta description, and Open Graph tags and list top fixes for a page.
Jev Output VerifierUse this when you want your own code to hold the confidence floor a draft answer must clear before display, with at most one retry on a miss.
Jev + Web ContextUse this when you want leave-one-out weights showing which retrieved web source changed a typed Jev decision, with no chat UI involved.
Jev Composite ScorecardUse this when one blended rubric hides which factor failed and you want atomic Jev scores merged into a single weighted score in your app.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: AI_GATEWAY_API_KEY, FIRECRAWL_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
experimental_evaluateProviders
External services
app/page.tsxapp/layout.tsxapp/api/audit/route.tscomponents/aeo-audit-demo.tsxcomponents/typesafe-ai.tsxcomponents/probability-bar.tsxcomponents/score-track.tsxcomponents/cite-result.tsxhooks/use-aeo-audit.tslib/audit-policy.tslib/audit-questions.tslib/extract-page.tslib/scrape-page.tslib/rate-limit.tslib/request-utils.tslib/cite-brief.tsREADME.mdnpm packages
6
Registry components
lib/audit-policy.tsdecideAudit returns cite-ready only when extractable and evidenced are >= 0.90, stuffed and thin are <= 0.10, query fit is >= 2, and intent probability is >= 0.70 with confidence present. Missing scores or ambiguous intent go to review. Failed checks go to queue. Unit-test with Experimental_EvaluationMockModelV4 — do not call Jev or Firecrawl from tests.
lib/audit-questions.tsSix atomic questions on { query, title, metaDescription, h1, passage, jsonLd }: extractable, evidenced, stuffed, thin (boolean), queryFit (score), intent (choice). Floors live next to the questions.
lib/extract-page.tsextractAuditPage pulls a short passage and JSON-LD plus title, meta, H1, canonical, and noindex. Those facts stay in application code and are not Jev questions.
audit/route.tsRate-limited Firecrawl scrape, then experimental_evaluate through AI Gateway model typesafe-ai/jev. zeroDataRetention is on. Reject private hosts before scraping.
Paste a URL. Firecrawl fetches the page, then Jev scores whether the answer block is worth citing.
Use this when auditing a page for AEO and you want title, canonical, and noindex checks in code while Jev judges the citation-worthiness.
Similar patterns, and when each one is the better fit.

SEO AuditUse this when a marketing team needs exportable SEO scorecards that check title, meta description, and Open Graph tags and list top fixes for a page.
Jev Output VerifierUse this when you want your own code to hold the confidence floor a draft answer must clear before display, with at most one retry on a miss.
Jev + Web ContextUse this when you want leave-one-out weights showing which retrieved web source changed a typed Jev decision, with no chat UI involved.
Jev Composite ScorecardUse this when one blended rubric hides which factor failed and you want atomic Jev scores merged into a single weighted score in your app.Requirements, wiring steps, and what this pattern adds to your project.
Pick how you want to pull this pattern in. Then wire env vars and routes the same way.
Download → Next.js app
Use Download → Next.js app in the preview toolbar. You get a zip scaffold (Pro downloads rewrite preview `/view/.../api/*` paths to `/api/*` automatically).
Extract the zip and install dependencies
Unzip the archive, then run `pnpm install` (or npm / yarn) in the project folder.
Fill .env.local
The download includes .env.local placeholders when needed. Add real values for: AI_GATEWAY_API_KEY, FIRECRAWL_API_KEY.
Customize the agent and tool files
Adapt prompts, tools, and stop conditions in the generated project for your product.
Run the app and open the pattern route
Run `pnpm dev`, open the setup/checklist page if present, then navigate to the generated pattern route and verify responses.
AI SDK APIs
experimental_evaluateProviders
External services
app/page.tsxapp/layout.tsxapp/api/audit/route.tscomponents/aeo-audit-demo.tsxcomponents/typesafe-ai.tsxcomponents/probability-bar.tsxcomponents/score-track.tsxcomponents/cite-result.tsxhooks/use-aeo-audit.tslib/audit-policy.tslib/audit-questions.tslib/extract-page.tslib/scrape-page.tslib/rate-limit.tslib/request-utils.tslib/cite-brief.tsREADME.mdnpm packages
6
Registry components
lib/audit-policy.tsdecideAudit returns cite-ready only when extractable and evidenced are >= 0.90, stuffed and thin are <= 0.10, query fit is >= 2, and intent probability is >= 0.70 with confidence present. Missing scores or ambiguous intent go to review. Failed checks go to queue. Unit-test with Experimental_EvaluationMockModelV4 — do not call Jev or Firecrawl from tests.
lib/audit-questions.tsSix atomic questions on { query, title, metaDescription, h1, passage, jsonLd }: extractable, evidenced, stuffed, thin (boolean), queryFit (score), intent (choice). Floors live next to the questions.
lib/extract-page.tsextractAuditPage pulls a short passage and JSON-LD plus title, meta, H1, canonical, and noindex. Those facts stay in application code and are not Jev questions.
audit/route.tsRate-limited Firecrawl scrape, then experimental_evaluate through AI Gateway model typesafe-ai/jev. zeroDataRetention is on. Reject private hosts before scraping.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Paste a URL. Firecrawl fetches the page, then Jev scores whether the answer block is worth citing.
Loading preview…
Early-bird pricing — limited time


Open on desktop for the interactive preview.
Paste a URL. Firecrawl fetches the page, then Jev scores whether the answer block is worth citing.