AI systems engineering demo
CrossDebate
A streamed argument-evaluation system with Debate Map planning, transcript-aware model turns, judge scoring, quality metrics, run tracing, and benchmark evals.
Positioning
CrossDebate is not positioned as an agent novelty app. It is a compact AI product architecture designed to demonstrate software engineering judgment: stateful orchestration, streaming UX, model-output validation, cost-aware model selection, observable pipeline stages, and measurable output quality.
Pipeline
- 01
Debate Map
The planner identifies 5-10 dimensions before openings, then selects distinct segments from that map so the debate cannot fixate on the first obvious talking point.
- 02
Live Orchestration
Each model turn streams over NDJSON and receives the transcript so far, the current map dimension, optional researched facts, and instructions to answer the previous claim directly.
- 03
Quality Metrics
The engine computes coverage, direct-response rate, repeated-argument warnings, source count, unsupported-claim warnings, and judge disagreement.
- 04
Specialist Judges
A fixed six-judge panel separates source reliability, claim strength, steelmanning, direct clash, counterfactual robustness, and persuasion.
- 05
Eval Harness
Benchmark cases exercise recurring failure modes like shallow Messi/Ronaldo debates, company ethics fixation, product comparison gaps, and subjective art arguments.
Measurement
Coverage
Debate Map dimensions covered vs. planned.
Repetition
Similarity checks flag repeated side arguments.
Grounding
Research source count and risky unsupported-claim warnings.
Latency
Run trace records stage timing and model configuration.
Judging
Panel scores are aggregated deterministically in code.
Regression
Static and live eval reports are generated from fixtures.
The metrics are intentionally lightweight for v1, but they create the crucial engineering surface: the system can be tested, compared, regressed, and improved instead of judged by vibes.
Recruiter demo path
Run a benchmark debate, open the live trace, then show the eval report.
`npm run evals` or launch the streamed debateBuilt with
- Next.js App Router
- React + TypeScript
- Anthropic Claude
- NDJSON streaming
- Zod validation
- Prompt caching
- Eval harness
- Run tracing