4.7 KiB
4.7 KiB
Validation Rules & Scoring System
Automatic quality assessment for presentations.
Scoring Formula (0-100)
Simplicity (10 points)
- Word count per slide: 0-3 words = 10pts, 4-6 words = 8pts, 7-10 words = 5pts, >10 words = 0pts
- Visual clutter: Single element = 10pts, 2-3 elements = 8pts, 4-5 elements = 5pts, >5 elements = 0pts
Visual Dominance (10 points)
- Image quality: All high-res = 10pts, some low-res = 5pts, no images = 0pts
- Text-to-visual ratio: 20/80 or better = 10pts, 50/50 = 5pts, 80/20 = 0pts
Story Structure (10 points)
- Narrative arc: Clear beginning/middle/end = 10pts, partial = 5pts, none = 0pts
- Emotional beats: 3+ moments = 10pts, 1-2 moments = 5pts, none = 0pts
One Idea Per Slide (10 points)
- Concept clarity: All slides single-concept = 10pts, most = 7pts, mixed = 3pts, confused = 0pts
Typography (8 points)
- Font size: All 36pt+ = 8pts, all 30pt+ = 6pts, some <30pt = 2pts, any <24pt = 0pts
- Consistency: 1 font family = 8pts, 2 families = 6pts, 3+ families = 0pts
Layout (7 points)
- Visual hierarchy: Clear focal points = 7pts, somewhat clear = 4pts, unclear = 0pts
- Whitespace: 40%+ = 7pts, 20-40% = 4pts, <20% = 0pts
- Alignment: All aligned = 7pts, mostly = 4pts, inconsistent = 0pts
Color/Contrast (7 points)
- Readability: 7:1+ contrast = 7pts, 4.5:1+ = 5pts, <4.5:1 = 0pts
- Consistency: Single palette = 7pts, mixed = 3pts, chaotic = 0pts
Media Quality (8 points)
- Image resolution: All 2K+ = 8pts, all 1K+ = 6pts, some low-res = 2pts
- Relevance: All relevant = 8pts, mostly = 5pts, decorative = 0pts
Cognitive Load (20 points)
- Mayer's 12 principles adherence: 10-12 = 20pts, 7-9 = 15pts, 4-6 = 10pts, 1-3 = 5pts, 0 = 0pts
Data Integrity (10 points, if applicable)
- Lie factor: 0.95-1.05 = 10pts, 0.90-1.10 = 7pts, 0.80-1.20 = 3pts, outside = 0pts
- Data-ink ratio: Maximized = 10pts, good = 7pts, poor = 3pts, terrible = 0pts
Critical Violations (Auto-Fail)
These cause immediate score reduction or failure:
- Font size < 30pt → -20 points
- >10 core concepts → -15 points (Kawasaki violation)
- Bullet points detected → -10 points per slide
- Paragraphs (>2 sentences) → -10 points per slide
- Contrast ratio <4.5:1 → -15 points
- Default template detected → -20 points
Warning Flags
These reduce score but don't fail:
- >6 words per slide → -2 points per violation (Godin standard)
- >15 slides for 20-min presentation → -5 points
- No images → -10 points
- Text-heavy slides (>3 lines) → -3 points per slide
- Inconsistent fonts (>2 families) → -5 points
- Low-res images → -3 points per image
Score Interpretation
- 90-100: Exceptional - TED/Keynote quality
- 80-89: Excellent - Professional standard
- 70-79: Good - Solid presentation
- 60-69: Acceptable - Needs improvement
- <60: Poor - Major revisions needed
Automated Checks (JavaScript)
function validatePresentation(slides) {
let score = 0;
const issues = [];
// Check each slide
slides.forEach((slide, i) => {
const wordCount = slide.text.split(' ').length;
const fontSize = slide.minFontSize;
const hasBullets = slide.text.includes('•') || slide.text.includes('-');
// Word count scoring
if (wordCount <= 3) score += 10 / slides.length;
else if (wordCount <= 6) score += 8 / slides.length;
else if (wordCount <= 10) score += 5 / slides.length;
else issues.push(`Slide ${i+1}: ${wordCount} words (recommend ≤6)`);
// Font size critical check
if (fontSize < 30) {
score -= 20;
issues.push(`CRITICAL: Slide ${i+1} has ${fontSize}pt font (minimum 30pt)`);
}
// Bullet point check
if (hasBullets) {
score -= 10;
issues.push(`CRITICAL: Slide ${i+1} has bullet points (use individual slides)`);
}
});
return { score: Math.max(0, Math.min(100, score)), issues };
}
Quality Report Template
# Presentation Quality Report
**Overall Score**: {score}/100
**Status**: {Exceptional|Excellent|Good|Acceptable|Poor}
## Strengths
- {List what scores well}
## Critical Issues
- {Font size violations}
- {Bullet points}
- {Contrast problems}
## Warnings
- {Word count}
- {Slide count}
- {Consistency issues}
## Recommendations
1. {Highest priority fix}
2. {Second priority}
3. {Third priority}
## Score Breakdown
- Simplicity: {score}/10
- Visual Dominance: {score}/10
- Story Structure: {score}/10
- One Idea/Slide: {score}/10
- Typography: {score}/8
- Layout: {score}/7
- Color/Contrast: {score}/7
- Media Quality: {score}/8
- Cognitive Load: {score}/20
- Data Integrity: {score}/10 (if applicable)