Chat Link: https://www.notion.so/share/30fa5329db4147eb8f3f42919a3ece51/363b684fd94081e18a8700a9a4107d8c

We are doing a hackathon themed on connections. Our idea is to make a website that allows users to gain a better understanding of events and topics by calling upon an AI to explain the political stances of news articles and give a detailed explanation of their logic and reasoning so the user can come to a justified conclusion. Our mission is to decrease political polarization in the US since it is currently at its peak right now.

Help us outline our website project. With a mission and approach.

Add one of the core features so that users don’t just have to paste a news article. they can type in a general topics and the AI proposes several news articles and breaks down their stances. But still maintain the article input while adding the ability to show multiple news articles opposing and supporting for the inputted news article.

Using the project outline. Develop another page within the concorde united page that gives us prompts to move forward and accomplish our website. Give us claude AI opus 4.6 prompts and specific step by step instructions on when and how to install things so we can get everything up and running

We have 2 team members. Me and Ani. How should our workflow be to complement each other and be the most efficient on this project. What jobs and stuff should each of us do in this process.

we both dont know how to code at all and will only be using claude. redefine our approach and make ensure that our concorde united page reflects this workflow for each of us to progress.

integrate the team workflow into the development guide and make everything straight forward in different phases with tasks and roles. account for the fact that we are working on two different laptops

give me a 350 character description for the github page

which license should we use?

if I want to scale this project in the future into my own company with this idea which license?

**the github name is concordeunited. change everything to reflect this**

C:\Users\ethan\concordeunited>npm install -D @types/cheerio npm error code ERESOLVE npm error ERESOLVE could not resolve npm error npm error While resolving: next@9.3.3 npm error Found: react@19.2.4 npm error node_modules/react npm error peer react@"^19.2.4" from react-dom@19.2.4 npm error node_modules/react-dom npm error react-dom@"19.2.4" from the root project npm error react@"19.2.4" from the root project npm error npm error Could not resolve dependency: npm error peer react@"^16.6.0" from next@9.3.3 npm error node_modules/next npm error next@"^9.3.3" from the root project npm error npm error Conflicting peer dependency: react@16.14.0 npm error node_modules/react npm error peer react@"^16.6.0" from next@9.3.3 npm error node_modules/next npm error next@"^9.3.3" from the root project npm error npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution. npm error npm error npm error For a full report see: npm error C:\Users\ethan\AppData\Local\npm-cache\_logs\2026-05-17T16_31_23_246Z-eresolve-report.txt npm error A complete log of this run can be found in: C:\Users\ethan\AppData\Local\npm-cache\_logs\2026-05-17T16_31_23_246Z-debug-0.log

C:\Users\ethan\concordeunited>

C:\Users\ethan\concordeunited>touch .env.local 'touch' is not recognized as an internal or external command, operable program or batch file.

we are on windows. redo everything for windows command line

how do I do this what should it look like

is this right

See https://help.github.com/articles/ignoring-files/ for more about ignoring files.# dependencies/node_modules/.pnp.pnp..yarn/!.yarn/patches!.yarn/plugins!.yarn/releases!.yarn/versions# testing/coverage# next.js/.next//out/# production/build# misc.DS_Store*.pem# debugnpm-debug.logyarn-debug.logyarn-error.log*.pnpm-debug.log*# env files (can opt-in for committing if needed).env*# vercel.vercel# typescript*.tsbuildinfonext-env.d.ts

how do I push the scaffold?

PS C:\Users\ethan\concordeunited> git pull origin main --allow-unrelated-histories error: You have not concluded your merge (MERGE_HEAD exists). hint: Please, commit your changes before merging. fatal: Exiting because of unfinished merge.

Create a TypeScript module at src/lib/claude.ts for a Next.js App Router project. It should:

  1. Import Anthropic from "@anthropic-ai/sdk"
  2. Initialize the client using process.env.ANTHROPIC_API_KEY
  3. Export an async function analyzeArticle(articleText: string) that sends a message to claude-sonnet-4-20250514 with this system prompt:

"You are a nonpartisan political analyst. Given a news article, you must:

  1. Identify the political stance/framing (e.g., progressive, conservative, libertarian, centrist, populist). Provide a one-word label and a confidence percentage.
  2. Explain the reasoning chain: what values, priorities, and assumptions lead to this framing. What evidence does the article emphasize? What does it omit?
  3. Generate 2-3 alternative perspective analyses — steelmanned, fair representations of how other political viewpoints would interpret the same event. For each, explain the values and logic that drive that interpretation.
  4. Identify common ground: 2-3 points where most perspectives agree on facts or shared values.

Return your analysis as a JSON object with this exact shape: { "detectedStance": { "label": string, "confidence": number, "summary": string }, "reasoningBreakdown": { "values": string[], "evidenceEmphasized": string[], "evidenceOmitted": string[], "assumptions": string[], "logicChain": string }, "alternativePerspectives": [{ "label": string, "summary": string, "values": string[], "logicChain": string }], "commonGround": string[] }"

The function should parse the JSON from Claude's response and return it typed. Handle errors gracefully. Use max_tokens: 4096.

  1. Export an async function analyzeTopicArticles(topic: string, articles: { title: string, source: string, description: string, url: string }[]) that sends a message to claude-sonnet-4-20250514 asking it to analyze each article's likely political stance based on its title, source, and description, and return a JSON array of: { "title": string, "source": string, "url": string, "stanceLabel": string, "stanceSummary": string, "perspective": "supporting" | "opposing" | "neutral" }

Create a TypeScript module at src/lib/scraper.ts for a Next.js project. It should:

  1. Import cheerio and axios
  2. Export an async function scrapeArticle(url: string): Promise<{ title: string; text: string; source: string }> that:
    • Fetches the HTML from the URL using axios with a browser-like User-Agent header
    • Uses cheerio to extract:
      • The article title from <h1> or <title> or og:title meta tag
      • The main article body text from <article>, or common selectors like .article-body, .story-body, [data-article-body], falling back to <p> tags
      • The source domain from the URL
    • Strips HTML tags, extra whitespace, and returns clean text
    • Handles errors (invalid URL, 403/404, no content found) with descriptive error messages
    • Limits extracted text to 15000 characters to stay within Claude's context window