# PRD: AI Coding Pricing / Cost Hub

> Stage: Site Factory / PRD v1
> Version: v1.0
> Date: 2026-05-21
> Owner: 墨策
> Domain: aicodingpricing.com
> Tenant: site-aicodingpricing-20260521
> Target market: US / English

---

## 0. Decision

Build it.

AI Coding Pricing should be a fresh, source-linked pricing and usage-limit hub for Claude Code, OpenAI Codex, Cursor, and GitHub Copilot. The homepage calculator is the retention and conversion tool; the acquisition wedge is branded pricing, usage, limits, and comparison pages.

Why now:
- Validated keyword cluster is 83,000 monthly searches from DataForSEO US/en exact terms. The upstream 97.5K/month claim is not accepted unless additional long-tail terms are added.
- P0 selected cluster has about 69,200 monthly searches before dedupe.
- Commercial intent is unusually high: Claude Code vs Codex CPC $166.84, Codex vs Claude Code $93.36, Codex usage $41.54, Codex pricing $25.97.
- SERPs allow non-official entry: third-party guides, Reddit, HN, Medium, small blogs, and independent pages already rank.
- Official pages answer factual price, but not “which plan should I buy for my workflow,” “will I hit limits,” or “API vs subscription.”

One-line product definition:
AI Coding Pricing helps developers compare real AI coding tool costs, usage limits, and upgrade paths before paying for Claude Code, Codex, Cursor, or Copilot.

Site type:
Hybrid SEO utility site: pricing hub + calculator + comparison pages + changelog + newsletter capture.

Primary success condition:
A user can land from a branded pricing/comparison query, see current source-linked facts, run a practical cost/limit scenario, and decide what to buy or avoid within 2 minutes.

First build scope:
- P0: homepage calculator, Claude Code pricing, Claude Code usage limits, Codex pricing, Codex usage, Cursor pricing, Claude Code vs Codex, Claude Code vs Cursor, pricing changelog, two redirect aliases.
- P1: Claude Code cost, Codex limits, Codex vs Cursor, Copilot pages, Claude Max vs Pro, API vs subscription, provider-specific changelogs.
- P2: ChatGPT Pro vs Claude Max and additional providers only after keyword validation.

---

## 1. Market and keyword basis

Source inputs:
- User-confirmed input: /tmp/aicodingpricing_input_20260521.md
- Market report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/research/opportunity-report.md
- SEO baseline: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/serp-geo-baseline.md

Validated keyword table:

| Keyword | Volume/mo | CPC | Competition | KD | Page priority |
|---|---:|---:|---|---:|---|
| claude code pricing | 27,100 | $6.42 | LOW | 13 | P0 |
| cursor pricing | 12,100 | $2.92 | LOW | 18 | P0 |
| claude code vs cursor | 8,100 | $17.46 | LOW | 0 | P0 |
| codex vs claude code | 8,100 | $93.36 | LOW | 14 | P0 alias to canonical |
| codex usage | 6,600 | $41.54 | LOW | 3 | P0 |
| cursor vs claude code | 6,600 | $23.12 | LOW | 0 | P0 alias to canonical |
| claude code cost | 4,400 | $11.40 | LOW | 49 | P1 |
| claude code vs codex | 3,600 | $166.84 | LOW | 11 | P0 |
| codex pricing | 3,600 | $25.97 | MEDIUM | 5 | P0 |
| claude code limits | 1,300 | $15.76 | LOW | 28 | P1/support |
| claude code usage limits | 880 | $20.11 | LOW | 26 | P0 |
| codex limits | 590 | $50.61 | LOW | n/a | P1 |
| llm pricing calculator | 30 | $3.32 | LOW | n/a | no standalone SEO page |

Market verdict:
- This is not a generic calculator opportunity.
- The strongest entry path is “pricing explained + limits + comparison + freshness.”
- The product moat is a repeatable freshness workflow: source links, last checked, changelog entries, and alert capture.

---

## 2. SERP and competitor analysis

Search intent:
Commercial investigation + upgrade decision + limits troubleshooting. Users are not only asking “how much is it”; they need to decide between Pro/Max/Plus/Pro+/Ultra/API/team plans under uncertain usage limits.

SERP readout:
- Claude Code pricing: official Anthropic pages appear, but third-party pages like Verdent, SSD Nodes, Finout, Reddit, and YouTube enter. Gap: weak calculators and freshness evidence.
- Codex pricing: official OpenAI pages coexist with Reddit, HN, UI Bakery, Milvus, Eesel, UserJot. Gap: generic explainers; weak local/cloud/API distinction.
- Claude Code vs Codex: editorial SERP with Medium, Reddit, no-code/blog sites, Composio, DataCamp, MindStudio. Gap: no calculator-first comparison.
- Claude Code vs Cursor: Reddit/small blogs plus Builder/Qodo. Gap: narrative comparison, weak cost scenarios.
- Cursor pricing: official page strong, but Reddit/Medium/Vantage/NoCode MBA/Flexprice also rank. More crowded; needs freshness and use-case guidance.
- Codex usage: fragmented SERP with official, Reddit, GitHub CodexBar, HN, ccusage. Strong opening for usage explanation and monitoring guidance.

Tier 1 — direct competitors:
| Competitor/source type | What they cover | Strength | Weakness | Our attack point |
|---|---|---|---|---|
| Official Anthropic/OpenAI/Cursor/GitHub pages | Current plan facts | Authority | Do not compare cross-tool buyer scenarios | Source-linked comparison + calculator |
| Verdent / SSD Nodes / UI Bakery / Vantage / Flexprice | Pricing explainers | Can rank for branded terms | Article-heavy, freshness varies | Better source tables, changelog, calculator |
| Builder / Qodo / Composio / DataCamp / MindStudio | Comparison articles | Editorial ranking + workflow framing | Weak cost modeling | Cost-aware comparison tables and scenarios |
| ccusage / CodexBar-style usage tools | Usage tracking | Utility value | Narrow tool-specific scope | Hub + education + comparison + newsletter |

Tier 2 — adjacent alternatives:
| Alternative | Why users use it | Limitation |
|---|---|---|
| Ask ChatGPT/Perplexity | Quick answer to “how much?” | Can be stale, unsourced, not scenario-calculated |
| Reddit/HN threads | Real user anecdotes | Fragmented, dated, hard to trust |
| Spreadsheet/manual research | Custom comparison | Time-consuming and stale quickly |
| Vendor docs | Factual source | No cross-vendor decision tree |

Tier 3 — current behavior:
- Users buy Plus/Pro/Max/Pro+ based on hype, then hit limits or overpay.
- Teams reimburse tools without a common cost model.
- Developers keep tabs open across official docs and Reddit to understand changes.
- Heavy users discover API/subscription mismatch too late.

Competitive minimum:
The site cannot launch as a thin SEO article set. It must visibly provide:
1. Source-linked pricing/limits tables with last checked dates.
2. A calculator module on homepage and embedded on key pricing/usage/comparison pages.
3. Above-fold answer blocks for AI citation.
4. Clear plan-fit scenarios: light solo developer, heavy agent user, team lead, API-heavy builder.
5. Changelog with dated entries, changed field, source URL, and confidence.
6. Newsletter/alert CTA tied specifically to pricing and usage-limit changes.
7. Factual fair-use disclaimer on branded pages.
8. Strict canonical/redirect handling for reversed comparison slugs.

---

## 3. ICP

### ICP A — Solo AI coding power user (primary)
- Who: US-based developer, indie hacker, consultant, or senior engineer using Claude Code/Codex/Cursor weekly.
- Pain: Does not know whether $20, $60, $100, or $200/month is the right upgrade; afraid of hitting limits mid-work.
- Current alternative: Official docs, Reddit threads, YouTube comparisons, trial-and-error upgrades.
- Trigger: Plan renewal, limit hit, new tool launch, team reimbursement, “Claude Code vs Codex” search.
- Hangout: Reddit, HN, X, GitHub, Discord developer communities, AI coding newsletters.
- Willingness: High. Already considering paid AI coding tools; may pay for Pro if it saves one wrong upgrade.

### ICP B — Startup/team engineering lead
- Who: Founder, CTO, team lead, or devtools buyer choosing reimbursable AI coding tools for a small team.
- Pain: Needs predictable monthly cost, team controls, and clear policy before allowing multiple tools.
- Current alternative: Vendor pages + internal spreadsheet.
- Trigger: Budget planning, tool reimbursement, team productivity push, procurement review.
- Hangout: HN, X, LinkedIn, devtools communities, founder groups.
- Willingness: Medium-high. Could pay for team templates/alerts later, but P0 should not require accounts.

### ICP C — Cost-conscious learner / junior developer
- Who: Student, early-career dev, bootcamp learner, open-source contributor.
- Pain: Wants the cheapest way to use AI coding tools without wasting subscription money.
- Current alternative: Free tiers, YouTube, Reddit, asking AI search.
- Trigger: “Cursor pricing,” “Claude Code cost,” or “Codex included in ChatGPT Plus?”
- Hangout: Reddit, YouTube, Discord, dev education communities.
- Willingness: Low. Valuable for traffic and sharing, not primary monetization.

Selected primary user:
ICP A. The pain is immediate, high-intent, and aligned with P0 keywords. They can understand calculator output and convert into newsletter/affiliate-style future monetization faster than ICP C.

---

## 4. Positioning

April Dunford framing:
1. Competitive alternatives: official pricing pages, comparison articles, Reddit/HN, AI answers, spreadsheets.
2. Unique attributes: source-linked freshness, cross-tool calculator, usage-limit explanations, changelog alerts, canonical SEO hub.
3. Value mapping: less overpaying, fewer surprise limits, faster purchase decision, better tool/team budget choice.
4. Best-fit user: developers and team leads choosing between AI coding subscriptions and API workflows.
5. Market category: AI coding pricing and usage comparison hub.
6. Trend: AI coding tools are becoming plan/limit-driven subscriptions with frequent price and usage-policy changes.

Positioning statement:
FOR developers and small teams choosing paid AI coding tools
WHO need to understand real monthly cost, usage limits, and upgrade tradeoffs
AI Coding Pricing IS an independent pricing and usage comparison hub
THAT compares Claude Code, OpenAI Codex, Cursor, and Copilot with source-linked tables, calculators, and changelogs
UNLIKE official docs, Reddit threads, or generic comparison articles
AI Coding Pricing turns fast-changing pricing and limit policies into practical buyer decisions.

Messaging hierarchy:
| Layer | Copy direction |
|---|---|
| Headline | Compare AI coding tool costs before you upgrade |
| Subhead | Estimate real monthly cost across Claude Code, Codex, Cursor, and Copilot using current pricing, usage limits, and workflow scenarios. |
| Benefit 1 | Avoid surprise limits: see plan capacity, reset behavior, and upgrade triggers before you buy. |
| Benefit 2 | Compare by workflow: CLI agent, AI IDE, cloud tasks, API billing, and team controls in one table. |
| Benefit 3 | Trust fresher data: every pricing row needs source links, last checked dates, and changelog history. |
| Proof | Official-source links, dated changelog entries, transparent assumptions, no affiliation claims. |

Forbidden positioning:
- “Official pricing source.”
- “Cheapest AI coding tool guaranteed.”
- “Unlimited usage.”
- “Claude/OpenAI/Cursor/GitHub partner.”
- “Real-time account usage tracker” unless the product actually connects to accounts.
- “Complete/always accurate pricing” without caveat.

Global disclaimer:
AI Coding Pricing is an independent comparison and calculator site. Claude Code, OpenAI Codex, Cursor, GitHub Copilot, ChatGPT, and related names are trademarks of their respective owners. This site is not affiliated with, endorsed by, or sponsored by those companies. Pricing and limits can change; always verify on official sources before buying.

---

## 5. Product scope

### 5.1 Core functions
| Function | P0/P1 | Requirement |
|---|---|---|
| AI coding cost calculator | P0 | Above fold on homepage; inputs: tool, plan, coding hours/week, sessions/day, team size, local/API/cloud mode, heavy model usage; outputs: estimated monthly cost, suggested plan, limit risk, caveats. |
| Provider pricing tables | P0 | Claude Code, Codex, Cursor; source URL, last checked, plan name, price, included usage, overage/on-demand notes, team plan notes. |
| Usage/limits explainers | P0 | Claude Code usage limits and Codex usage; reset windows, credits, local/cloud/API distinctions, upgrade triggers. |
| Comparison pages | P0 | Claude Code vs Codex and Claude Code vs Cursor; price, limits, workflow, security/admin, best-fit matrix, calculator block. |
| Changelog hub | P0 | Dated entries with provider, changed field, old/new value where known, source URL, confidence, checked date. |
| Newsletter capture | P0 | “Get alerts when AI coding prices or limits change”; capture email + source route; no generic newsletter copy. |
| Canonical/redirect aliases | P0 | /codex-vs-claude-code -> /claude-code-vs-codex; /cursor-vs-claude-code -> /claude-code-vs-cursor. |
| Provider-specific changelogs | P1 | Codex and Claude Code changelog pages if maintenance workflow exists. |
| Copilot pages | P1 | Add after keyword/SERP validation; keep same fair-use constraints. |

### 5.2 Content and SEO functions
- Every indexable page needs a 40-70 word answer-first block near the top.
- Every pricing/limits/comparison page needs FAQPage schema, BreadcrumbList, unique title/meta/H1, and visible source links.
- Homepage needs WebApplication + WebSite + FAQPage schema.
- Changelog pages use CollectionPage + ItemList.
- llms.txt is required at launch and should link homepage, core pricing pages, comparison pages, changelog, about/contact.
- Sitemap must include only canonical indexable pages.

### 5.3 Conversion functions
- Primary CTA: “Estimate my AI coding cost.”
- Secondary CTA: “Get pricing change alerts.”
- Contextual CTAs by page:
  - Pricing pages: “Estimate your monthly cost.”
  - Limits/usage pages: “Check my limit risk.”
  - Comparison pages: “Compare my workflow.”
  - Changelog: “Get change alerts.”
- P0 monetization should be email capture and trust-building. Do not force login or payment.
- Future monetization options: sponsored placements with strict disclosure, premium team report, API/change alert product, affiliate only if compliant and disclosed.

### 5.4 Compliance and infrastructure
- No unauthorized logos or brand assets.
- No “official” language or visual treatment.
- Branded pages must include visible independent-site disclaimer.
- Each price/limit claim needs source links and last checked date.
- Privacy Policy and Terms must cover email capture, analytics, affiliate/sponsorship disclosures if used later, and no account scraping.
- Use Cloudflare Pages + Workers + D1 + R2 if needed; Plausible for analytics.
- Cloudflare Crawler Hints evidence checked/value=true is a launch hard gate.

### 5.5 NOT-DO
- No brand-term main domain or official-looking branding.
- No unauthorized provider logos, marks, screenshots, or copied official visual style.
- No claim of affiliation, endorsement, sponsorship, or official pricing authority.
- No static one-time pricing table without last-checked source evidence and changelog.
- No generic LLM pricing calculator positioning as the main acquisition wedge.
- No user account, payment, API product, or team dashboard in P0 unless downstream explicitly scopes it.
- No scraped private/account-specific usage data collection in P0.
- No duplicate indexable reversed comparison pages; use 301 or canonical alias.

---

## 6. Information architecture

Homepage IA:
1. Hero: headline, short subhead, embedded calculator starter, primary CTA.
2. Calculator module: tool/plan/usage inputs, result card, assumptions disclosure.
3. Quick comparison cards: Claude Code, Codex, Cursor, Copilot.
4. Latest pricing changes: 3-5 changelog cards with dates and source links.
5. How it works: choose workflow -> compare plans -> check limits -> get alerts.
6. Use cases: solo developer, heavy agent user, team lead, API-heavy builder.
7. SEO content block: explain pricing vs usage limits vs API billing.
8. FAQ: 6 items minimum.
9. Disclaimer and final CTA.

Core user tasks:
- Estimate which AI coding subscription or API workflow is cheapest for a specific weekly coding pattern.
- Check current Claude Code, Codex, Cursor, and Copilot pricing/limits with source links before upgrading.
- Compare Claude Code vs Codex and Claude Code vs Cursor by cost, usage limits, workflow fit, and team controls.
- Understand why a tool hit a usage limit and what upgrade or workflow change fixes it.
- Subscribe to pricing/limit change alerts instead of re-checking official pages manually.

P0 page matrix:
| Path | Job | Must answer |
|---|---|---|
| / | Compare cost across tools | Which tool/plan is cheapest for my usage? |
| /claude-code-pricing | Claude Code pricing source page | What do Pro/Max/API options cost and when does real cost increase? |
| /claude-code-usage-limits | Usage limits explanation | Why did I hit limits and which plan changes that? |
| /codex-pricing | Codex pricing source page | Is Codex included in ChatGPT, CLI, cloud tasks, or API? |
| /codex-usage | Codex usage explainer | How do local messages, cloud tasks, credits, and API usage differ? |
| /cursor-pricing | Cursor pricing source page | Is Pro, Pro+, Ultra, Teams, or on-demand usage worth it? |
| /claude-code-vs-codex | Comparison | Which is better for my workflow and budget? |
| /claude-code-vs-cursor | Comparison | CLI agent vs AI IDE: what should I buy? |
| /pricing-changelog | Freshness hub | What changed recently and where is the source? |

Full route contract lives in:
/root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/prd/route-contract.json

Legal and trust routes:
| Path | Policy | Purpose |
|---|---|---|
| /about | index, self canonical | Explain independent methodology and source/update policy. |
| /privacy-policy | footer-linked; noindex or index per compliance | Cover Plausible analytics, newsletter capture, contact data, no account scraping. |
| /terms-of-service | footer-linked; noindex or index per compliance | Cover independent comparison disclaimer, pricing caveats, and no official affiliation. |
| /contact | index, self canonical | Let providers/users submit corrections and source updates. |

Route naming rule: do not replace /privacy-policy with /privacy or /terms-of-service with /terms unless the route contract is updated and 301 redirects are implemented.

---

## 7. Pricing and business model

P0 should be free. The first product job is trust, SEO entry, and email capture.

Possible future packages after traffic validation:
| Plan | Price draft | Benefit | Limit |
|---|---:|---|---|
| Free | $0 | Calculator, pricing pages, changelog view, newsletter | Manual/latest public data; no account features |
| Pro Alerts | $5-9/mo | Email alerts by provider/tool, saved comparison scenarios, team budget template | Up to 20 saved alerts/scenarios/month |
| Team Report | $19-49/mo | Exportable team cost report, reimbursement comparison, quarterly update digest | Up to 50 seats per report/month |
| Sponsor slot | custom | Clearly labeled provider/tool placement | Must not bias factual tables |

Cost model:
- Deterministic calculator cost: near-zero if browser/client-side.
- D1/Workers/Plausible/R2 costs: low fixed operating cost.
- Main cost is maintenance labor for pricing/limit updates.
- Newsletter/email cost grows with subscribers; delay paid alerts until repeated update demand exists.

Rule:
Do not use “unlimited.” If paid alerts or reports ship later, define monthly saved scenarios, alerts, or report exports.

---

## 8. Domain and tech stack

Domain:
aicodingpricing.com is user-registered and fixed. Do not reopen domain selection. It is strategically correct because the main domain is generic and brand names only appear as factual page slugs.

Domain risk:
- Long but clear.
- Good for SEO trust because it names category, not one vendor.
- Lower trademark risk than brand-term domains.

Recommended stack:
- Frontend: Next.js static/export or Astro on Cloudflare Pages.
- Backend: Cloudflare Workers for newsletter, changelog API, and optional source snapshot fetchers.
- Data: D1 for changelog/pricing rows/newsletter subscriptions; R2 for source snapshots if needed.
- Analytics: Plausible with event properties.
- Payments: none in P0; Stripe only if Pro Alerts/Team Report ships later.
- SEO: sitemap.xml, robots.txt, llms.txt, JSON-LD, static canonical routes.
- Launch gate: Cloudflare Crawler Hints checked/value=true evidence required.

---

## 9. Analytics contract

Core events:
| Event | When | Required properties |
|---|---|---|
| page_view | page loaded | path, page_type, primary_keyword, priority |
| calculator_start | user interacts with calculator | path, default_tool, default_plan |
| calculator_submit | user runs scenario | path, selected_tools, team_size_bucket, usage_bucket, mode |
| calculator_result_view | result displayed | recommended_plan, estimated_monthly_cost_bucket, limit_risk_level |
| source_link_click | official source clicked | provider, path, source_url_domain |
| changelog_entry_click | changelog detail opened | provider, changed_field, entry_date |
| newsletter_submit | email submitted | path, provider_interest, cta_variant |
| cta_click | CTA clicked | path, cta_id, cta_text, destination |
| redirect_alias_hit | alias route used | from_path, to_path |
| disclaimer_view | disclaimer block visible | path, provider_mentions |

Acceptance thresholds for launch QA:
- page_view fires on all P0 canonical pages.
- calculator_start, calculator_submit, calculator_result_view fire on homepage.
- cta_click includes path + cta_id.
- source_link_click tracks provider and domain.
- newsletter_submit captures source path and provider interest.

---

## 10. SEO-Copy Freeze Gate

Design must not start until SEO-Copy Freeze is completed for P0 indexable pages:
- /
- /claude-code-pricing
- /claude-code-usage-limits
- /codex-pricing
- /codex-usage
- /claude-code-vs-codex
- /claude-code-vs-cursor
- /cursor-pricing
- /pricing-changelog

Per-page freeze contract:
```json
{
  "seo_copy_frozen": false,
  "freeze_required_before_design": true,
  "required_fields": [
    "primary_keyword",
    "semantic_keywords",
    "final_title",
    "final_meta_description",
    "H1",
    "H2_H3_outline",
    "above_fold_short_answer_40_70_words",
    "pricing_or_comparison_table_copy",
    "FAQ_questions_and_answers",
    "schema_jsonld",
    "internal_links",
    "word_count_target",
    "brand_disclaimer_copy",
    "source_links",
    "last_updated_policy"
  ]
}
```

Design content-fit constraints:
- Pricing/comparison tables must appear above fold or near top.
- Calculator must appear on homepage and can be embedded on usage/comparison pages.
- FAQ can be collapsible but must remain crawlable.
- Source/changelog module must include visible dates.
- Disclaimer cannot be hidden in unreadable footer-only copy.

Block rule:
If final copy, H1/H2/H3, FAQ answers, schema, and word count targets are missing, block design. Do not “design first and fill SEO later.”

---

## 11. GTM

Primary channels:
| Channel | Use? | Reason | First-month target |
|---|---|---|---|
| SEO/content | Yes | Main acquisition engine; high-intent branded queries | P0 pages indexed, first impressions and early top-50 movement |
| Reddit/HN/community | Yes | SERPs already show Reddit/HN; users discuss pricing confusion | 3-5 useful non-spam comments/posts |
| X/Twitter | Yes | Devtools/AICoding audience and freshness updates | Launch thread + changelog updates |
| Directory/listing | Light | General AI directory traffic may be low but helps discovery | Submit to relevant AI tool directories |
| Product Hunt | Later | Better after data/changelog proves usefulness | Hold until richer product |
| Paid ads | No P0 | CPCs are high; validate organic first | None |

Launch week:
- Day 0: Publish P0 pages, sitemap, robots, llms.txt, analytics, Crawler Hints evidence.
- Day 0-1: Post useful “AI coding pricing changed / comparison calculator” thread on X and HN/Reddit where appropriate.
- Day 1-2: Submit to devtool/AI directories and newsletters.
- Day 3-7: Monitor GSC/Plausible, fix thin/duplicate/canonical issues, add first changelog update.

30-day decision framework:
| Signal | Kill | Iterate | Scale |
|---|---|---|---|
| Daily visitors | <10 | 10-100 | >100 |
| Calculator use rate | <10% | 10-40% | >40% |
| Newsletter conversion | <0.5% | 0.5-2% | >2% |
| Search ranking | no impressions | top 50 movement | top 10 for long-tail |
| Maintenance burden | too high for value | manageable | updates drive repeat visits |

---

## 12. Risks and mitigations

| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| Stale pricing/limits | High | High | Last checked, source links, changelog, update workflow, newsletter framed around changes |
| Trademark/fair-use issue | Medium | High | Generic domain, factual use only, no logos, visible disclaimer, neutral design |
| Official pages outrank pricing queries | High | Medium | Win via comparison, calculator, usage/limits, and answer-first source tables |
| Duplicate reversed comparison pages | High if unmanaged | Medium | 301 redirects or canonical aliases; no sitemap for aliases |
| Thin calculator page | Medium | Medium | Calculator must include scenario assumptions, useful outputs, and supporting copy |
| Cursor SERP crowding | Medium | Medium | Treat as P0 due to volume but differentiate with freshness and cost scenarios |
| Maintenance overreach | Medium | High | P0 providers only; Copilot/ChatGPT/extra pages wait for validated workflow |
| Analytics blind spot | Medium | Medium | Require event QA before launch |

---

## 13. Acceptance criteria

Product acceptance:
- P0 pages answer the real user task, not just show SEO text.
- Homepage calculator produces a useful plan/cost/limit-risk result without login.
- Every pricing/limits row has source URL and last checked date.
- Changelog page has at least initial seed entries or is noindex until maintained.
- Newsletter CTA is specific to pricing/limit changes.
- Fair-use disclaimer appears on every branded page.
- Alias routes redirect or canonicalize correctly.

SEO acceptance:
- Unique title/meta/H1 on all P0 pages.
- Self canonical on canonical pages.
- Alias pages excluded from sitemap.
- FAQPage + BreadcrumbList schema on relevant pages.
- WebApplication schema on calculator pages.
- 40-70 word answer block near top on each P0 indexable page.
- llms.txt exists.
- robots.txt and sitemap.xml correct.

Launch acceptance:
- Cloudflare Crawler Hints evidence includes domain, setting name, checked/value=true, timestamp.
- Code/deployment tasks commit + push + deploy from the same commit.
- Plausible events pass QA.
- Privacy Policy and Terms are published and linked.

---

## 14. Downstream handoff

### To SEO/copy
- Use P0 acquisition pages, not generic calculator keywords, as main SEO path.
- Produce page-by-page final copy freeze for all P0 routes before design.
- Every page needs answer-first block, H2/H3 outline, FAQ, schema copy, source links, and disclaimer copy.
- Avoid official/partner language. Brand names only for factual comparison.
- CTA language: “Estimate my AI coding cost,” “Check my limit risk,” “Get pricing change alerts.”

### To design
- Design a data-dense but readable pricing/comparison utility, not a generic SaaS landing page.
- Tables, calculator, freshness date, source links, and disclaimer must be visible and mobile-friendly.
- Mobile-first: calculator fields, comparison tables, and FAQ must remain usable on 390px width.
- Use neutral text badges or generic icons; do not use provider logos unless legally cleared.
- Do not remove SEO copy blocks to make the page cleaner; ask product/SEO for content-fit tradeoff.

### To frontend/backend
- Implement canonical static route set from route-contract.json.
- Implement redirects for /codex-vs-claude-code and /cursor-vs-claude-code.
- Build calculator as deterministic P0 client-side module if possible.
- Use data-driven pricing rows with source_url, last_checked, provider, plan, price, usage_notes, confidence.
- Use D1 only if changelog/newsletter needs persistence; do not overbuild accounts.
- Analytics events must include route context and CTA IDs.
- Cloudflare Pages/Workers preferred.

### To compliance
- Review nominative fair use, disclaimers, no-logo policy, pricing claim caveats, email capture privacy, and affiliate/sponsorship disclosure placeholders.
- Ensure Privacy/Terms routes are in route contract or footer nav and have self canonicals/no accidental noindex.

### To QA
- Test real user tasks: run calculator, compare two tools, click source link, read usage limit answer, submit newsletter, verify redirect aliases, verify mobile tables.
- Do not pass QA by DOM presence only; complete tasks from a landing route.

---

## 15. Artifact index

- PRD: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/prd/prd-aicodingpricing-20260521.md
- Route Contract: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/prd/route-contract.json
- Research report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/research/opportunity-report.md
- SEO baseline: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/serp-geo-baseline.md
