Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ If Actions jobs fail within 2 to 5 seconds with no runner and no logs, the accou

## Frontend hosting on Vercel

Vercel builds and serves the frontend from the Git repository. A push to `main` deploys both projects: `debate-navigator` to `https://debateowl.com` (the previous domain, `https://debate.pi-stack.org`, 301s there with the path and query kept; see `vercel.json`), and `debatelab-staging` to `https://debatelab-staging.vercel.app`. Any other branch waits for an explicit preview (see [Opt-in previews](#opt-in-previews)). For a staging-pinned preview on the tailnet, use `npm run dev:preview` (see [development.md](development.md#preview-on-the-tailnet)). The production canary runs after each successful Vercel `Production` deployment of `debate-navigator`.
Vercel builds and serves the frontend from the Git repository. A push to `main` deploys both projects: `debate-navigator` to `https://debateowl.com` (the previous domain, `https://debate.pi-stack.org`, 301s there with the path and query kept; see `vercel.json`; `https://www.debateowl.com` redirects to the apex through the project's Domains setting, not `vercel.json`, also keeping the path and query), and `debatelab-staging` to `https://debatelab-staging.vercel.app`. Any other branch waits for an explicit preview (see [Opt-in previews](#opt-in-previews)). For a staging-pinned preview on the tailnet, use `npm run dev:preview` (see [development.md](development.md#preview-on-the-tailnet)). The production canary runs after each successful Vercel `Production` deployment of `debate-navigator`.

[`vercel.json`](../vercel.json) owns:

Expand Down
2 changes: 1 addition & 1 deletion e2e/loading-performance.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ test('landing CTA enters the app without replacing the document', async ({ page
await page.goto('/');
await page.evaluate(() => { document.documentElement.dataset.e2eDocument = 'original'; });
const initialDocumentRequests = documentRequests;
await page.getByRole('link', { name: 'Start trial' }).first().click();
await page.getByRole('link', { name: 'Start free trial' }).first().click();

await expect(page).toHaveURL(/\/app$/);
expect(documentRequests).toBe(initialDocumentRequests);
Expand Down
10 changes: 5 additions & 5 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<!-- The shell for app routes. scripts/prerender.mjs writes the public pages
from it with their own title, description, canonical URL and JSON-LD. -->
<title>DebateOwl</title>
<meta name="description" content="DebateOwl is an AI debate prep and practice app for students and debaters: cases, rebuttals, evidence, coaching and timed rounds against an AI opponent." />
<meta name="description" content="DebateOwl helps students and debaters prepare cases, rebuttals and evidence with AI, then practice timed rounds against an AI opponent." />
<meta name="author" content="DebateOwl" />
<meta name="msvalidate.01" content="8FC8FD530126287EF8AD3977BFB24C17" />
<!-- The shell for /app, /login and /share. Prerender replaces this with the
Expand All @@ -24,15 +24,15 @@
<link rel="manifest" href="/manifest.webmanifest" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="DebateOwl" />
<meta property="og:title" content="DebateOwl | AI Debate Prep, Cases & Rebuttals" />
<meta property="og:description" content="DebateOwl is an AI debate prep and practice app for students and debaters: cases, rebuttals, evidence, coaching and timed rounds against an AI opponent." />
<meta property="og:title" content="DebateOwl: AI debate prep and practice" />
<meta property="og:description" content="DebateOwl helps students and debaters prepare cases, rebuttals and evidence with AI, then practice timed rounds against an AI opponent." />
<meta property="og:image" content="https://debateowl.com/hero-visual.jpg?v=2" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="DebateOwl wordmark with the owl, for AI debate prep and practice" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="DebateOwl | AI Debate Prep" />
<meta name="twitter:description" content="DebateOwl is an AI debate prep and practice app for students and debaters: cases, rebuttals, evidence, coaching and timed rounds against an AI opponent." />
<meta name="twitter:title" content="DebateOwl: AI debate prep and practice" />
<meta name="twitter:description" content="DebateOwl helps students and debaters prepare cases, rebuttals and evidence with AI, then practice timed rounds against an AI opponent." />
<meta name="twitter:image" content="https://debateowl.com/hero-visual.jpg?v=2" />
<meta name="twitter:image:alt" content="DebateOwl wordmark with the owl, for AI debate prep and practice" />
<script src="/theme-init.js"></script>
Expand Down
10 changes: 6 additions & 4 deletions public/ai-debate-case-generator/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AI Debate Case Generator with Citations | DebateOwl</title>
<meta name="description" content="Use an AI debate case generator to draft structured cases with claims, warrants, impacts, and evidence leads, then verify sources before round." />
<meta name="description" content="DebateOwl drafts a structured debate case with claims, warrants, impacts and cited evidence leads that you check before taking it into a round." />
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large" />
<link rel="canonical" href="https://debateowl.com/ai-debate-case-generator" />
<meta name="author" content="DebateOwl" />
Expand All @@ -16,7 +16,7 @@
<meta property="og:type" content="article" />
<meta property="og:site_name" content="DebateOwl" />
<meta property="og:title" content="AI Debate Case Generator with Citations | DebateOwl" />
<meta property="og:description" content="Use an AI debate case generator to draft structured cases with claims, warrants, impacts, and evidence leads, then verify sources before round." />
<meta property="og:description" content="DebateOwl drafts a structured debate case with claims, warrants, impacts and cited evidence leads that you check before taking it into a round." />
<meta property="og:url" content="https://debateowl.com/ai-debate-case-generator" />
<meta property="og:image" content="https://debateowl.com/hero-visual.jpg?v=2" />
<meta property="og:image:width" content="1200" />
Expand All @@ -25,14 +25,16 @@
<meta property="article:published_time" content="2026-07-05" />
<meta property="article:modified_time" content="2026-10-27" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="AI Debate Case Generator with Citations | DebateOwl" />
<meta name="twitter:description" content="DebateOwl drafts a structured debate case with claims, warrants, impacts and cited evidence leads that you check before taking it into a round." />
<meta name="twitter:image" content="https://debateowl.com/hero-visual.jpg?v=2" />
<meta name="twitter:image:alt" content="DebateOwl wordmark with the owl, for AI debate prep and practice" />
<link rel="stylesheet" href="/seo-pages.css" />
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Article","headline":"AI Debate Case Generator with Citations","name":"AI Debate Case Generator with Citations | DebateOwl","url":"https://debateowl.com/ai-debate-case-generator","description":"Use an AI debate case generator to draft structured cases with claims, warrants, impacts, and evidence leads, then verify sources before round.","inLanguage":"en","dateModified":"2026-10-27","datePublished":"2026-07-05","author":{"@type":"Organization","@id":"https://debateowl.com/#organization","name":"DebateOwl","url":"https://debateowl.com/","logo":{"@type":"ImageObject","url":"https://debateowl.com/icon-512.png","width":512,"height":512}},"publisher":{"@type":"Organization","@id":"https://debateowl.com/#organization","name":"DebateOwl","url":"https://debateowl.com/","logo":{"@type":"ImageObject","url":"https://debateowl.com/icon-512.png","width":512,"height":512}},"about":{"@id":"https://debateowl.com/#software"}},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can an AI debate case generator write a case I can actually use?","acceptedAnswer":{"@type":"Answer","text":"Yes, as a draft. DebateOwl's case generator turns a motion into a structured case (thesis, framework, contentions with warrants and impacts, the likely opposing case and counters) and lists the web sources it used, which you then verify and rewrite in your own words. Treat its citations as research leads: open every source and confirm the exact claim. The judgement calls, such as which contention to cut and where to pre-empt the opposition, stay with you."}},{"@type":"Question","name":"Does the case generator write a complete case?","acceptedAnswer":{"@type":"Answer","text":"It writes a complete draft: thesis, framework, contentions with warrants and impacts, the likely opposing case and counters. Treat it as a structure to cut, verify and rewrite in your own words."}},{"@type":"Question","name":"Are the generated citations reliable?","acceptedAnswer":{"@type":"Answer","text":"They are research leads. Every draft is researched on the web and lists the sources it found, and a contention that still needs evidence is marked Needs Source. Open every source, confirm the exact claim and record the full citation before using it."}},{"@type":"Question","name":"Which debate formats does the generator support?","acceptedAnswer":{"@type":"Answer","text":"Set the Current Debate's format to British Parliamentary, Policy, Classroom or Custom, and Generate reads it along with the debate's Instructions. Generate's own speaker roles (introductor, R1, R2 and conclusor) follow the School 4-6-6-3 format. For WSDC, Public Forum and Lincoln-Douglas, use Custom and describe the structure in the Instructions."}},{"@type":"Question","name":"Can I change one part of a case without starting over?","acceptedAnswer":{"@type":"Answer","text":"Yes. Regenerate a single section and the rest of the case stays on screen unchanged."}},{"@type":"Question","name":"Can I export a generated case?","acceptedAnswer":{"@type":"Answer","text":"Yes. Cases export to PDF and DOCX, and cases created in a Current Debate are saved to it automatically."}},{"@type":"Question","name":"Is there a free AI debate case generator?","acceptedAnswer":{"@type":"Answer","text":"DebateOwl's case generator is included in the 3-day free trial, with no credit card, and then in Pro at $5/month + tax; there is no permanent free plan. Without an account you can use the free debate timer, motion generator, flow sheet and speech time calculator, but not the case generator."}},{"@type":"Question","name":"Can AI write a Public Forum case?","acceptedAnswer":{"@type":"Answer","text":"It can draft one. Set the Current Debate's format to Custom and describe the Public Forum structure in its Instructions, since Generate's own speaker roles follow School 4-6-6-3. A PF constructive is four minutes, which usually fits two contentions with evidence, so cut the draft to that and verify every source."}},{"@type":"Question","name":"Is using an AI case generator cheating?","acceptedAnswer":{"@type":"Answer","text":"Using it to draft and research before a round is preparation, but check your league's and your school's rules first: most leagues forbid electronic help during a round. Verify every source, rewrite the case in your own words and make sure you can defend each contention, because a case you cannot explain is easy to beat."}}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"DebateOwl","item":"https://debateowl.com/"},{"@type":"ListItem","position":2,"name":"AI Debate Case Generator with Citations","item":"https://debateowl.com/ai-debate-case-generator"}]},{"@type":"DefinedTerm","name":"AI debate case generator","description":"A tool that drafts a debate case for a given motion and side, with claims, warrants, impacts and evidence leads, for a debater to verify and adapt.","url":"https://debateowl.com/ai-debate-case-generator#definition"}]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Article","headline":"AI Debate Case Generator with Citations","name":"AI Debate Case Generator with Citations | DebateOwl","url":"https://debateowl.com/ai-debate-case-generator","description":"DebateOwl drafts a structured debate case with claims, warrants, impacts and cited evidence leads that you check before taking it into a round.","inLanguage":"en","dateModified":"2026-10-27","datePublished":"2026-07-05","author":{"@type":"Organization","@id":"https://debateowl.com/#organization","name":"DebateOwl","url":"https://debateowl.com/","logo":{"@type":"ImageObject","url":"https://debateowl.com/icon-512.png","width":512,"height":512}},"publisher":{"@type":"Organization","@id":"https://debateowl.com/#organization","name":"DebateOwl","url":"https://debateowl.com/","logo":{"@type":"ImageObject","url":"https://debateowl.com/icon-512.png","width":512,"height":512}},"about":{"@id":"https://debateowl.com/#software"}},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can an AI debate case generator write a case I can actually use?","acceptedAnswer":{"@type":"Answer","text":"Yes, as a draft. DebateOwl's case generator turns a motion into a structured case (thesis, framework, contentions with warrants and impacts, the likely opposing case and counters) and lists the web sources it used, which you then verify and rewrite in your own words. Treat its citations as research leads: open every source and confirm the exact claim. The judgement calls, such as which contention to cut and where to pre-empt the opposition, stay with you."}},{"@type":"Question","name":"Does the case generator write a complete case?","acceptedAnswer":{"@type":"Answer","text":"It writes a complete draft: thesis, framework, contentions with warrants and impacts, the likely opposing case and counters. Treat it as a structure to cut, verify and rewrite in your own words."}},{"@type":"Question","name":"Are the generated citations reliable?","acceptedAnswer":{"@type":"Answer","text":"They are research leads. Every draft is researched on the web and lists the sources it found, and a contention that still needs evidence is marked Needs Source. Open every source, confirm the exact claim and record the full citation before using it."}},{"@type":"Question","name":"Which debate formats does the generator support?","acceptedAnswer":{"@type":"Answer","text":"Set the Current Debate's format to British Parliamentary, Policy, Classroom or Custom, and Generate reads it along with the debate's Instructions. Generate's own speaker roles (introductor, R1, R2 and conclusor) follow the School 4-6-6-3 format. For WSDC, Public Forum and Lincoln-Douglas, use Custom and describe the structure in the Instructions."}},{"@type":"Question","name":"Can I change one part of a case without starting over?","acceptedAnswer":{"@type":"Answer","text":"Yes. Regenerate a single section and the rest of the case stays on screen unchanged."}},{"@type":"Question","name":"Can I export a generated case?","acceptedAnswer":{"@type":"Answer","text":"Yes. Cases export to PDF and DOCX, and cases created in a Current Debate are saved to it automatically."}},{"@type":"Question","name":"Is there a free AI debate case generator?","acceptedAnswer":{"@type":"Answer","text":"DebateOwl's case generator is included in the 3-day free trial, with no credit card, and then in Pro at $5/month + tax; there is no permanent free plan. Without an account you can use the free debate timer, motion generator, flow sheet and speech time calculator, but not the case generator."}},{"@type":"Question","name":"Can AI write a Public Forum case?","acceptedAnswer":{"@type":"Answer","text":"It can draft one. Set the Current Debate's format to Custom and describe the Public Forum structure in its Instructions, since Generate's own speaker roles follow School 4-6-6-3. A PF constructive is four minutes, which usually fits two contentions with evidence, so cut the draft to that and verify every source."}},{"@type":"Question","name":"Is using an AI case generator cheating?","acceptedAnswer":{"@type":"Answer","text":"Using it to draft and research before a round is preparation, but check your league's and your school's rules first: most leagues forbid electronic help during a round. Verify every source, rewrite the case in your own words and make sure you can defend each contention, because a case you cannot explain is easy to beat."}}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"DebateOwl","item":"https://debateowl.com/"},{"@type":"ListItem","position":2,"name":"AI Debate Case Generator with Citations","item":"https://debateowl.com/ai-debate-case-generator"}]},{"@type":"DefinedTerm","name":"AI debate case generator","description":"A tool that drafts a debate case for a given motion and side, with claims, warrants, impacts and evidence leads, for a debater to verify and adapt.","url":"https://debateowl.com/ai-debate-case-generator#definition"}]}</script>
</head>
<body>
<header class="wrap">
<nav class="nav" aria-label="Primary"><a class="brand" href="/">DebateOwl</a><div><a href="/ai-debate-practice">AI practice</a><a href="/ai-debate-case-generator">Case generator</a><a href="/debate-rebuttal-practice">Rebuttal practice</a><a href="/debate-evidence-finder">Evidence finder</a><a href="/debateowl-pricing">Pricing</a><a href="/app">Open app</a></div></nav>
<nav class="nav" aria-label="Primary"><a class="brand" href="/" aria-label="DebateOwl home">DebateOwl</a><div><a href="/ai-debate-practice">AI practice</a><a href="/ai-debate-case-generator">Case generator</a><a href="/debate-rebuttal-practice">Rebuttal practice</a><a href="/debate-evidence-finder">Evidence finder</a><a href="/debateowl-pricing">Pricing</a><a href="/app">Open app</a></div></nav>
</header>
<main class="wrap">
<nav class="breadcrumb" aria-label="Breadcrumb"><a href="/">DebateOwl</a> / <span aria-current="page">AI Debate Case Generator with Citations</span></nav>
Expand Down
Loading
Loading