{"slug":"productrating","name":"ProductRating — SEO & AI Discovery Scanner","version":"1.0.0","category":"saas landing","priceCents":0,"description":"A free seo audit tool template for Next.js: the interface of ProductRating, a product discovery scanner live at productrating-ten.vercel.app, released as source. Paste a product URL and the page walks the scan's states, scanning with a cancel, an inline error, then the report: five provider assessments for Google, Bing, ChatGPT, Perplexity and Claude, each scored out of 100 with its access state, source-linked evidence and a next step. Seven routes ship: the scanner and all-providers report, the ChatGPT discovery view with its feed field map, the technical checklist with category filters and extracted markup, the pricing dialog, and the paid workspace's catalog intake, runs, full-report inspector and billing. It is a replica, not an interpretation: the palette, Geist and Geist Mono, the canvas hero, the dialogs, the export popover and the copy are the live app's own. The scan engine is not included. Every screen renders the app's published example report, captured as typed data, so wiring your own scanner means returning the same shape. The provider marks are LobeHub's MIT-licensed icons, shipped with their license. MIT-licensed, light mode only, React edition only. Built for Tailwind v4, Next.js 15 and React 19.","summary":"Free seo audit tool template nextjs: ProductRating's live scanner interface, with five provider reports and a catalog workspace, under MIT.","tags":["seo audit tool template nextjs","seo checker tool template","website audit report ui template","ai search visibility checker template","free nextjs saas tool template","tailwind-v4"],"palette":{"bg":"#f6f8f1","surface":"#ffffff","accent":"#d5f677","text":"#26321f","line":"#e1e6d9"},"accent_mode":"monochrome-plus-spot","darkMode":false,"pages":[{"path":"/","title":"Product discovery scanner","sections":["scanner","discovery-particles","provider-overview","pricing","page-verification"]},{"path":"/chatgpt","title":"ChatGPT discovery","sections":["scanner","discovery-panel"]},{"path":"/checklist","title":"Technical checklist","sections":["scanner"]},{"path":"/pricing","title":"Get All Access","sections":["scanner","pricing"]},{"path":"/workspace","title":"Your catalogs","kind":"console","sections":["workspace-shell","catalog-intake","job-detail"]},{"path":"/workspace/report","title":"Full report","kind":"console","sections":["workspace-shell","job-detail"]},{"path":"/workspace/billing","title":"Billing","kind":"console","sections":["workspace-shell","billing-panel"]}],"components":[{"name":"scanner","file":"src/components/scanner.tsx","renders":"The whole public page: header, the URL form and its scanning, cancel and error states, the provider banner, the report with its three views, the field guide, the method and the footer"},{"name":"discovery-particles","file":"src/components/discovery-particles.tsx","renders":"The hero's canvas of small squares and stars morphing between commerce and search outlines, static under reduced motion and paused off screen"},{"name":"provider-overview","file":"src/components/provider-overview.tsx","renders":"Five selectable provider cards with score or access state, the selected provider's priority findings, its evidence and its method, plus the provider field guide and the scoring dialog body"},{"name":"discovery-panel","file":"src/components/discovery-panel.tsx","renders":"The ChatGPT view: web search and merchant feed paths, observed points and coverage, priority fixes, the feed field table and the eight-step discovery playbook"},{"name":"pricing","file":"src/components/pricing.tsx","renders":"The All Access button, the catalog prompt under the report and the pricing dialog body with its allowance explainer"},{"name":"page-verification","file":"src/components/page-verification.tsx","renders":"The page-consistency strip that compares structured facts with the visible page, when a report carries one"},{"name":"workspace-shell","file":"src/components/workspace/workspace-shell.tsx","renders":"The workspace header, the Catalogs and Billing sidebar, the allowance button and the session notices"},{"name":"catalog-intake","file":"src/components/workspace/catalog-intake.tsx","renders":"New catalog form: label, URL list or CSV upload, the accepted, duplicate and rejected preview, and the plan-gated start"},{"name":"job-detail","file":"src/components/workspace/job-detail.tsx","renders":"Catalog runs: the run list, progress, checked pages with recheck selection, grouped findings, cancel and remove, and the full-report inspector"},{"name":"billing-panel","file":"src/components/workspace/billing-panel.tsx","renders":"The period's allowance with used, reserved and renewal figures, and the one plan with its terms and billing actions"},{"name":"ui/ui","file":"src/components/ui/ui.tsx","renders":"The duotone icon, the focus-and-hover tooltip, the modal dialog with trapped focus, and the export popover"},{"name":"ui/disclosure","file":"src/components/ui/disclosure.tsx","renders":"Native details and summary with interruptible height motion, opened by a matching URL hash"},{"name":"ui/brand","file":"src/components/ui/brand.tsx","renders":"ProductRating's grid-and-spark mark and the two-weight wordmark"},{"name":"ui/provider-icon","file":"src/components/ui/provider-icon.tsx","renders":"The five LobeHub provider marks as local images"}],"tokens":{"--background":"#f6f8f1","--foreground":"#26321f","--card":"#ffffff","--card-foreground":"#26321f","--primary":"#d5f677","--primary-foreground":"#2c391b","--secondary":"#eef3e4","--secondary-foreground":"#354b1f","--muted-foreground":"#65705e","--accent":"#e5f4ba","--accent-foreground":"#354b1f","--border":"#e1e6d9","--ring":"#3e5a22","--radius":"0.5625rem","--font-sans":"var(--font-geist-sans), Arial, sans-serif","--font-mono":"var(--font-geist-mono), monospace","--paper":"#f6f8f1","--ink":"#26321f","--muted":"#65705e","--line":"#e1e6d9","--green":"#d5f677","--green-dark":"#3e5a22","--white":"#fff","--amber":"#855c1a","--red":"#a43e42","--ease":"cubic-bezier(.22, 1, .36, 1)","--particle-ink":"#456629","--pr-000":"#000","--pr-17200f30":"#17200f30","--pr-1d271c61":"#1d271c61","--pr-1f2c1830":"#1f2c1830","--pr-25311d06":"#25311d06","--pr-25351d08":"#25351d08","--pr-25351d17":"#25351d17","--pr-26321f07":"#26321f07","--pr-26321f08":"#26321f08","--pr-26321f12":"#26321f12","--pr-26321f22":"#26321f22","--pr-27371903":"#27371903","--pr-27371905":"#27371905","--pr-27371908":"#27371908","--pr-27371909":"#27371909","--pr-283d1c08":"#283d1c08","--pr-2c391b":"#2c391b","--pr-2d3a1d":"#2d3a1d","--pr-2d3b25":"#2d3b25","--pr-31432207":"#31432207","--pr-354b1f":"#354b1f","--pr-40571e0a":"#40571e0a","--pr-40571e10":"#40571e10","--pr-40571e12":"#40571e12","--pr-426424":"#426424","--pr-4d6639":"#4d6639","--pr-536246":"#536246","--pr-536445":"#536445","--pr-536b3d":"#536b3d","--pr-557735":"#557735","--pr-587438":"#587438","--pr-5f7747":"#5f7747","--pr-60704e":"#60704e","--pr-638342":"#638342","--pr-64705b":"#64705b","--pr-648743":"#648743","--pr-648846":"#648846","--pr-667359":"#667359","--pr-688944":"#688944","--pr-69765e":"#69765e","--pr-6a8748":"#6a8748","--pr-6a9043":"#6a9043","--pr-6b7c58":"#6b7c58","--pr-6b8950":"#6b8950","--pr-6c7663":"#6c7663","--pr-6c8c4c":"#6c8c4c","--pr-6c8d49":"#6c8d49","--pr-6d7e5b":"#6d7e5b","--pr-6d7f5a":"#6d7f5a","--pr-6e7f5d":"#6e7f5d","--pr-6e815e":"#6e815e","--pr-6f393a":"#6f393a","--pr-6f5a2d":"#6f5a2d","--pr-70766c":"#70766c","--pr-71805f":"#71805f","--pr-719247":"#719247","--pr-728162":"#728162","--pr-72924c":"#72924c","--pr-735d2f":"#735d2f","--pr-738066":"#738066","--pr-738263":"#738263","--pr-738266":"#738266","--pr-73944e":"#73944e","--pr-748367":"#748367","--pr-75905a":"#75905a","--pr-788171":"#788171","--pr-788270":"#788270","--pr-789851":"#789851","--pr-789852":"#789852","--pr-795d24":"#795d24","--pr-7a8c68":"#7a8c68","--pr-7c876f":"#7c876f","--pr-7d8b6d":"#7d8b6d","--pr-7da04e":"#7da04e","--pr-7ea446":"#7ea446","--pr-809071":"#809071","--pr-80996a":"#80996a","--pr-809b58":"#809b58","--pr-82a559":"#82a559","--pr-84907a":"#84907a","--pr-849575":"#849575","--pr-85632f":"#85632f","--pr-87907d":"#87907d","--pr-87a363":"#87a363","--pr-88967a":"#88967a","--pr-899a76":"#899a76","--pr-8a6725":"#8a6725","--pr-8a9382":"#8a9382","--pr-8b9d77":"#8b9d77","--pr-8ba563":"#8ba563","--pr-8caf63":"#8caf63","--pr-9aae82":"#9aae82","--pr-9ba492":"#9ba492","--pr-9f34340a":"#9f34340a","--pr-a0ba7a":"#a0ba7a","--pr-aabf8f":"#aabf8f","--pr-ab6b57":"#ab6b57","--pr-acbe94":"#acbe94","--pr-ad3c42":"#ad3c42","--pr-aebaa2":"#aebaa2","--pr-aecf54":"#aecf54","--pr-b28b3d":"#b28b3d","--pr-b34f51":"#b34f51","--pr-b49a5b":"#b49a5b","--pr-b4d078":"#b4d078","--pr-b6c7a2":"#b6c7a2","--pr-b8c9a4":"#b8c9a4","--pr-bb6761":"#bb6761","--pr-bbc8aa":"#bbc8aa","--pr-bdcbaa":"#bdcbaa","--pr-bfdf67":"#bfdf67","--pr-c54c52":"#c54c52","--pr-c5e671":"#c5e671","--pr-c69b43":"#c69b43","--pr-c7ed65":"#c7ed65","--pr-c8ed69":"#c8ed69","--pr-cad5bd":"#cad5bd","--pr-cb8b84":"#cb8b84","--pr-cbed9235":"#cbed9235","--pr-cbed9240":"#cbed9240","--pr-cfd8c4":"#cfd8c4","--pr-cfdac1":"#cfdac1","--pr-d0e29e":"#d0e29e","--pr-d4dfc455":"#d4dfc455","--pr-d5e2c5":"#d5e2c5","--pr-d5f677":"#d5f677","--pr-d5f677a0":"#d5f677a0","--pr-d6dec9":"#d6dec9","--pr-d6dfcb":"#d6dfcb","--pr-d6e0c9":"#d6e0c9","--pr-d7e1ca":"#d7e1ca","--pr-d8e0ce":"#d8e0ce","--pr-d8e4c8":"#d8e4c8","--pr-d9e1ce":"#d9e1ce","--pr-d9e1cf":"#d9e1cf","--pr-dae3cf":"#dae3cf","--pr-daeda6":"#daeda6","--pr-dbe3d2":"#dbe3d2","--pr-dbe5ce":"#dbe5ce","--pr-dce4d2":"#dce4d2","--pr-dce4d3":"#dce4d3","--pr-dce5ce":"#dce5ce","--pr-dce5d0":"#dce5d0","--pr-dce6cf":"#dce6cf","--pr-dde4d4":"#dde4d4","--pr-dde5d3":"#dde5d3","--pr-dee6d3":"#dee6d3","--pr-dee8d1":"#dee8d1","--pr-dfb2af":"#dfb2af","--pr-dfe7d5":"#dfe7d5","--pr-dfe8d0":"#dfe8d0","--pr-e0e6d7":"#e0e6d7","--pr-e0e8d4":"#e0e8d4","--pr-e0e9d1":"#e0e9d1","--pr-e1e6d9":"#e1e6d9","--pr-e1e6da":"#e1e6da","--pr-e1e7d8":"#e1e7d8","--pr-e1e9d5":"#e1e9d5","--pr-e2e6dc":"#e2e6dc","--pr-e2e7da":"#e2e7da","--pr-e3dfc9":"#e3dfc9","--pr-e4e9dd":"#e4e9dd","--pr-e4ead9":"#e4ead9","--pr-e4eadb":"#e4eadb","--pr-e4eadc":"#e4eadc","--pr-e4edd7":"#e4edd7","--pr-e5c9c7":"#e5c9c7","--pr-e5eadc":"#e5eadc","--pr-e5f4ba":"#e5f4ba","--pr-e6ecde":"#e6ecde","--pr-e6edda":"#e6edda","--pr-e7ddc1":"#e7ddc1","--pr-e7ebde":"#e7ebde","--pr-e7ebdf":"#e7ebdf","--pr-e7ebe1":"#e7ebe1","--pr-e7f4f4":"#e7f4f4","--pr-e9eedf":"#e9eedf","--pr-e9eee2":"#e9eee2","--pr-eaf1de":"#eaf1de","--pr-eaf4fb":"#eaf4fb","--pr-ebcfcb":"#ebcfcb","--pr-ebf2de":"#ebf2de","--pr-ecd3d1":"#ecd3d1","--pr-ecdedd":"#ecdedd","--pr-edf0e8":"#edf0e8","--pr-edf1e7":"#edf1e7","--pr-edf2e5":"#edf2e5","--pr-edf3e3":"#edf3e3","--pr-edf4e1":"#edf4e1","--pr-eef2e7":"#eef2e7","--pr-eef2e8":"#eef2e8","--pr-eef2e9":"#eef2e9","--pr-eef3e4":"#eef3e4","--pr-eef4e3":"#eef4e3","--pr-eef5e5":"#eef5e5","--pr-eef5e6":"#eef5e6","--pr-eff2e9":"#eff2e9","--pr-eff5df":"#eff5df","--pr-f0d6cf":"#f0d6cf","--pr-f0d6d4":"#f0d6d4","--pr-f0f2eb":"#f0f2eb","--pr-f0f3ea":"#f0f3ea","--pr-f0f4fb":"#f0f4fb","--pr-f0f5e5":"#f0f5e5","--pr-f0f5e6":"#f0f5e6","--pr-f0f6e5":"#f0f6e5","--pr-f1f1ed":"#f1f1ed","--pr-f1f4eb":"#f1f4eb","--pr-f1f5e9":"#f1f5e9","--pr-f1f5eb":"#f1f5eb","--pr-f1f6e7":"#f1f6e7","--pr-f1f6e9":"#f1f6e9","--pr-f2f5ed":"#f2f5ed","--pr-f2f6eb":"#f2f6eb","--pr-f2f7e9":"#f2f7e9","--pr-f3f6ec":"#f3f6ec","--pr-f3f7eb":"#f3f7eb","--pr-f3f8e9":"#f3f8e9","--pr-f4f6f0":"#f4f6f0","--pr-f4f8eb":"#f4f8eb","--pr-f4f8ec":"#f4f8ec","--pr-f5f8ee":"#f5f8ee","--pr-f5f8ef":"#f5f8ef","--pr-f5f9eb":"#f5f9eb","--pr-f5f9ed":"#f5f9ed","--pr-f6f0df":"#f6f0df","--pr-f6f9ef":"#f6f9ef","--pr-f6f9f0":"#f6f9f0","--pr-f7faef":"#f7faef","--pr-f7faf0":"#f7faf0","--pr-f7faf1":"#f7faf1","--pr-f8faef":"#f8faef","--pr-f8faf3":"#f8faf3","--pr-f8faf4":"#f8faf4","--pr-f9fbf5":"#f9fbf5","--pr-f9fbf6":"#f9fbf6","--pr-fae9e7":"#fae9e7","--pr-faf2dd":"#faf2dd","--pr-faf2df":"#faf2df","--pr-fafbf7":"#fafbf7","--pr-fafcf6":"#fafcf6","--pr-fafcf7":"#fafcf7","--pr-fbefe9":"#fbefe9","--pr-fbf8ed":"#fbf8ed","--pr-fcf0ee":"#fcf0ee","--pr-fcf0ef":"#fcf0ef","--pr-fcf9ef":"#fcf9ef","--pr-fcfaf2":"#fcfaf2","--pr-fcfdf9":"#fcfdf9","--pr-fdfefb":"#fdfefb","--pr-fff":"#fff","--pr-fff1ee":"#fff1ee","--pr-fff2ef":"#fff2ef","--pr-fff2f1":"#fff2f1","--pr-fff4f2":"#fff4f2","--pr-fff7f6":"#fff7f6","--pr-fff8f6":"#fff8f6","--pr-fff9f7":"#fff9f7","--pr-ffffff75":"#ffffff75","--pr-rgba-255-255-255-_68":"rgba(255,255,255,.68)"},"tokensDark":{},"compatibility":{"next":">=15","react":">=19","tailwind":">=4"},"dependencies":["lucide-react"],"editions":{"react":{"source":"src","runtime":"react"}},"license":"free","waivers":[{"gate":"check:dark-tokens","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which ships light mode only"},{"gate":"screenshots:light-dark","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which ships light mode only"},{"gate":"check:html-edition","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which is a React app with no HTML edition"},{"gate":"check-html","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which is a React app with no HTML edition"},{"gate":"check-html-modes","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which is a React app with no HTML edition"},{"gate":"ui-contract:html","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which is a React app with no HTML edition"},{"gate":"publish:html-parity","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which is a React app with no HTML edition"},{"gate":"publish:design-record","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app: its design is the product's, not argued for the catalog"},{"gate":"publish:signature","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app: its design is the product's, not argued for the catalog"},{"gate":"showcase:components","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app: its design is the product's, not argued for the catalog"},{"gate":"capture:focus-indicator","owner":"owner","date":"2026-09-17","reason":"1:1 replica of the live app, which marks URL input focus on its wrapper (.scan-form:focus-within)","selector":"input#url"}],"design":{"typefaces":{"text":"Geist","mono":"Geist Mono"},"typeRatio":1.333,"signature":"The five-provider verdict row: one card per search or AI provider, each showing a score out of 100 or, when the crawler is blocked, the blocked state in place of the number, above that provider's first three findings.","heroArchetype":"A3","motionPersonality":"restrained: short arrivals, interruptible disclosures, one ambient canvas","surface_kind":"marketing","built_against":"2026-09-17","recipe":{"primary":"ProductRating's live interface, replicated"},"brand_pyramid":["evidence","calm","practical"],"levers":{"theme":"paper","density":"comfortable","accent_mode":"monochrome-plus-spot","motion":"restrained","borders":"soft","radius":"medium","texture":"none","shadow":"raised-only"},"icons":{"set":"lucide","stroke":1.75,"ladder":["size-3","size-4","size-5"],"contexts":{"nav":"none","panel_header":"mark","fact_row":"none","feature_grid":"glyph"}},"disclosure":{"helper_line":"one-clause","sentence":"tooltip","paragraph":"details","parallel_views":"tabs","secondary_object":"drawer"},"cta":{"header":"quiet","hero":"filled","repeats":["fold"],"mobile":"inline"},"colour_budget":{"brand_max_pct":null,"concentration_pct":70,"regions":[]},"exemplars":[{"name":"ProductRating (productrating-ten.vercel.app)","slice":"all of it: this theme is its interface"}],"anti_list":["a dark mode the live app does not have","an invented brand or fiction","the scanner engine, rubric or fetch path"]}}