Compare one-shot prompting vs multi-step AI content generation for social media carousel copy.
This application generates two carousel variants for the same input:
Single-shot: direct generation in one prompt.Multi-step pipeline: angle generation, angle selection, slide drafting, scoring, and comparative judging.
It then presents both outputs side-by-side, with:
- per-dimension quality scores,
- pipeline execution logs,
- and a winner decision source (
JudgeorScores).
- Next.js (App Router)
- React
- Tailwind CSS
- OpenAI API
- Install dependencies:
npm install- Set environment variable:
OPENAI_API_KEY=your_api_key_here- Start dev server:
npm run dev- User submits
topic,niche,audience,tone,goal,slideCount. - API generates:
singlePromptResultpipelineResult
- Both are scored with the same rubric.
- A comparative judge (A/B/tie) evaluates both outputs directly.
- UI displays results, logs, and winner source.
- Primary quality dimensions:
hookStrengthclarityaudienceFitengagementPotentialctaStrength
- Scoring is context-aware (niche/audience/goal/tone) and deterministic (
temperature: 0) for scoring calls. - UI winner preference:
- Comparative judge result (if available)
- Score-average fallback
- API (streaming):
src/app/api/generate/route.ts - API (non-streaming):
src/app/api/generate.ts - Prompt templates:
src/lib/prompts.ts - OpenAI wrapper:
src/lib/openai.ts - Validators/parsers:
src/lib/validators.ts,src/lib/formatters.ts - Types:
src/lib/types.ts - Comparison UI:
src/components/ComparisonView.tsx - Score UI:
src/components/ScoreBadge.tsx - Pipeline logs UI:
src/components/PipelineLog.tsx
For full architecture, data contracts, scoring logic, failure modes, and evaluation runbook:
docs/architecture.md