Skip to content

Add five DebateOwl comparison pages (Claude, PublicForumAI, Gemini, HyperWrite, SchoolAI) - #288

Merged
Programcode merged 1 commit into
mainfrom
t3/add-six-vs-comparison-pages
Oct 31, 2026
Merged

Programcode merged 1 commit into
mainfrom
t3/add-six-vs-comparison-pages

Conversation

@Programcode

@Programcode Programcode commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Adds five comparison pages, each with its own structure. The sixth, DebateOwl vs PracticeDebate, is dropped (see below).

Page Shape
/debateowl-vs-claude The same prep night done twice: one Public Forum motion, six steps (set up, case, evidence, replies, timed practice, next morning), Claude chat vs DebateOwl side by side, ending in "When plain Claude is enough"
/debateowl-vs-publicforumai PF-only vs every format: a format grid (PF, LD, Policy, BP, World Schools, Congress) with a depth tag per cell, a short "If Public Forum is all you debate" section and 3 FAQs
/debateowl-vs-gemini Myth vs fact: five assumptions, each with a verdict and a two-sentence answer. Two come out in Gemini's favour (Hungarian, Gems)
/debateowl-vs-hyperwrite One-shot writer vs practice loop: short intro, a two-column "What you walk away with" list, then prices side by side
/debateowl-vs-schoolai For teachers: five needs (setup tomorrow, student accounts, seeing what students do, cost per student, formats), each with what both tools do and a plain pick, plus a student-data note

Every page names DebateOwl in its opening answer, links back to / and once to /best-ai-for-debate, carries the pricing sentence once in its call-to-action area, and has a sources list. DebateOwl claims were checked against the code: Sparring formats (packages/core/src/sparring/formats.ts), timer presets (src/lib/free-tools/formats.ts), Current Debate format options, voice rounds, scorecard, exports, and the 13+ age line in the privacy copy.

Registered in the generator: SIBLINGS and the page list in scripts/seo_comparison_pages.py, COMPARE_LINKS (llms.txt Compare section) and EXTRA_RELATED["best-ai-debate-tools"] in scripts/generate_seo_content.py, and PAGES in scripts/check_templating.py. The sitemap picks them up from dateModified (lastmod 2026-10-31). The new pages link to each other in a ring, so each has at least 3 inbound links.

One guard change: src/test/seo/guide-content.test.ts already allows the required byline and disclosure lines word for word, but only with the Oct 29 date. The new pages carry the same lines dated Oct 31, so the Oct 31 versions are added to that allow-list. No other rule changes.

Dropped: PracticeDebate

practicedebate.ai answers every request with a Vercel Security Checkpoint ("Failed to verify your browser", Code 21, HTTP 403). It did that for curl, headless Chromium and the Camofox stealth browser, all from the VPS (the residential proxy was not active for Camofox), and Adam's own Mac browser was offline, so we could not try from a home connection. www.practicedebate.ai has a certificate-name mismatch. The only text we got was a possibly cached homepage copy from Exa, which calls the product "DebatePro" in its body, so we couldn't confirm on the live site what it is or what it costs. Under the "verify on its own site or drop it" rule, the page is not in this PR.

Sources (all checked live on 2026-10-31)

Claude

PublicForumAI

Gemini

HyperWrite

SchoolAI

Checks

  • python3 scripts/generate_seo_content.py: regenerated, no generator refusals (jargon, pricing sentence, sibling cap, shared H2s)
  • python3 scripts/check_templating.py: passes with all 17 pages
  • npm run verify at this head: all 9 steps pass (docs, jargon, typecheck, guards, lint, edge, smoke, build, sw-offline)
  • Build: sitemap lists all five with <lastmod>2026-10-31</lastmod>; check-site (links, JSON-LD, FAQ visibility, headings) and check-links pass
  • JSON-LD on each page: Article, BreadcrumbList, FAQPage; self-canonical; titles end in "| DebateOwl"
  • Vercel preview: see the comment below once the deploy finishes

Draft. Touches only generated pages, generator scripts and one guard allow-list, but it's a draft for Adam to review the copy.

🤖 Generated with Claude Code

…yperWrite, SchoolAI

Each page has its own shape: one prep night done twice (Claude), a
format coverage grid (PublicForumAI), five assumptions checked
(Gemini), a one-shot writer against a practice loop with prices
(HyperWrite), and a teacher's checklist with a pick per need
(SchoolAI). Competitor facts come from each product's own site,
checked on 31 October 2026, and every page lists its sources.

The pages are in llms.txt, the /best-ai-debate-tools related links
and the templating check, and link to each other in a ring so each
has three inbound links. The guide-content guard now also allows the
byline and disclosure lines dated 31 October, as it already did for
29 October.

PracticeDebate is left out: practicedebate.ai answers every request
with a Vercel security checkpoint, so its product and prices could
not be checked on its own site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@Programcode

Copy link
Copy Markdown
Owner Author

Vercel preview (staging project, preview target): https://debatelab-staging-kb6ritmk8-adam-gaborjanis-projects.vercel.app

The preview sits behind Vercel team SSO, so a plain curl gets a 302 to the login. Fetched through vercel curl with the team login, each page returns 200 with its title:

  • 200 /debateowl-vs-claude
  • 200 /debateowl-vs-publicforumai
  • 200 /debateowl-vs-gemini
  • 200 /debateowl-vs-hyperwrite
  • 200 /debateowl-vs-schoolai

@Programcode
Programcode marked this pull request as ready for review October 31, 2026 18:08
Copilot AI balanced review requested due to automatic review settings October 31, 2026 18:08
@Programcode
Programcode merged commit f8ea08a into main Oct 31, 2026
3 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants