diff --git a/pitch-deck/components/PitchDeck.tsx b/pitch-deck/components/PitchDeck.tsx
index b25763e..968ee76 100644
--- a/pitch-deck/components/PitchDeck.tsx
+++ b/pitch-deck/components/PitchDeck.tsx
@@ -19,6 +19,7 @@ import PresenterOverlay from './presenter/PresenterOverlay'
import AvatarPlaceholder from './presenter/AvatarPlaceholder'
import IntroPresenterSlide from './slides/IntroPresenterSlide'
+import ExecutiveSummarySlide from './slides/ExecutiveSummarySlide'
import CoverSlide from './slides/CoverSlide'
import ProblemSlide from './slides/ProblemSlide'
import SolutionSlide from './slides/SolutionSlide'
@@ -117,6 +118,8 @@ export default function PitchDeck({ lang, onToggleLanguage }: PitchDeckProps) {
isPresenting={presenter.state !== 'idle'}
/>
)
+ case 'executive-summary':
+ return
case 'cover':
return
case 'problem':
diff --git a/pitch-deck/components/slides/ExecutiveSummarySlide.tsx b/pitch-deck/components/slides/ExecutiveSummarySlide.tsx
new file mode 100644
index 0000000..6d09379
--- /dev/null
+++ b/pitch-deck/components/slides/ExecutiveSummarySlide.tsx
@@ -0,0 +1,337 @@
+'use client'
+
+import { useCallback } from 'react'
+import { Language, PitchData } from '@/lib/types'
+import { t, formatEur } from '@/lib/i18n'
+import GradientText from '../ui/GradientText'
+import FadeInView from '../ui/FadeInView'
+import GlassCard from '../ui/GlassCard'
+import { Download, Shield, Server, Brain, TrendingUp, Users, FileText, Target } from 'lucide-react'
+
+interface ExecutiveSummarySlideProps {
+ lang: Language
+ data: PitchData
+}
+
+export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySlideProps) {
+ const i = t(lang)
+ const es = i.executiveSummary
+
+ const funding = data.funding
+ const amount = funding?.amount_eur || 0
+ const amountLabel = amount >= 1_000_000
+ ? `${(amount / 1_000_000).toFixed(1)} Mio. EUR`
+ : `${(amount / 1_000).toFixed(0)}k EUR`
+
+ const market = data.market || []
+ const tam = market.find(m => m.market_segment === 'TAM')
+ const sam = market.find(m => m.market_segment === 'SAM')
+ const som = market.find(m => m.market_segment === 'SOM')
+
+ const handleDownloadPdf = useCallback(() => {
+ const printWindow = window.open('', '_blank')
+ if (!printWindow) return
+
+ const tamVal = tam ? formatEur(tam.value_eur, lang) : '—'
+ const samVal = sam ? formatEur(sam.value_eur, lang) : '—'
+ const somVal = som ? formatEur(som.value_eur, lang) : '—'
+
+ const teamHtml = data.team?.map(m =>
+ `
+ ${m.name} — ${lang === 'de' ? m.role_de : m.role_en}
+
`
+ ).join('') || ''
+
+ const useOfFundsHtml = funding?.use_of_funds?.map(f =>
+ `
+ ${lang === 'de' ? f.label_de : f.label_en}
+ ${f.percentage}%
+
`
+ ).join('') || ''
+
+ printWindow.document.write(`
+
+
+
+ BreakPilot ComplAI — Executive Summary
+
+
+
+
+
+
+ ${es.usp}: ${es.uspText}
+
+
+
+
+
${es.problem}
+
${es.problemText}
+
+
+
${es.solution}
+
${es.solutionText}
+
+
+
+
+
${es.keyMetrics}
+
+
+
+
19
+
${es.regulations}
+
+
+
2.274
+
${es.legalTexts}
+
+
+
45
+
${es.containers}
+
+
+
761K
+
${es.linesOfCode}
+
+
+
${amountLabel}
+
${es.theAsk}
+
+
+
+
+
+
+
${es.market}
+
+
TAM${tamVal}
+
SAM${samVal}
+
SOM${somVal}
+
+
+
+
${es.businessModel}
+
${es.businessModelText}
+
+
+
+
+
+
+
${es.theAsk} — ${amountLabel}
+
+
${es.round}: ${funding?.round_name || 'Pre-Seed'}
+
Instrument: ${funding?.instrument || 'SAFE'}
+ ${useOfFundsHtml}
+
+
+
+
+
+
+`)
+
+ printWindow.document.close()
+ setTimeout(() => printWindow.print(), 300)
+ }, [lang, data, es, funding, tam, sam, som, amountLabel])
+
+ return (
+
+
+
+ {es.title}
+
+ {es.subtitle}
+
+
+ {/* USP Banner */}
+
+
+
{es.usp}
+
{es.uspText}
+
+
+
+ {/* Problem + Solution — 2 columns */}
+
+
+
+
+
{es.problem}
+
+ {es.problemText}
+
+
+
+
+
+
{es.solution}
+
+ {es.solutionText}
+
+
+
+ {/* KPI Row */}
+
+
+ {[
+ { value: '57', label: es.modules, icon: Brain, color: '#6366f1' },
+ { value: '19', label: es.regulations, icon: FileText, color: '#a78bfa' },
+ { value: '2.274', label: es.legalTexts, icon: Shield, color: '#60a5fa' },
+ { value: '45', label: es.containers, icon: Server, color: '#34d399' },
+ { value: '761K', label: es.linesOfCode, icon: Target, color: '#fbbf24' },
+ { value: amountLabel, label: es.theAsk, icon: TrendingUp, color: '#f472b6' },
+ ].map((kpi, idx) => (
+
+
+
{kpi.value}
+
{kpi.label}
+
+ ))}
+
+
+
+ {/* Market + Business Model + Team + The Ask — compact 2x2 */}
+
+
+ {es.market}
+
+ {[
+ { label: 'TAM', data: tam },
+ { label: 'SAM', data: sam },
+ { label: 'SOM', data: som },
+ ].map(({ label, data: m }) => (
+
+ {label}
+ {m ? formatEur(m.value_eur, lang) : '—'}
+
+ ))}
+
+
+
+
+ {es.businessModel}
+ {es.businessModelText}
+
+
+
+ Team
+
+ {data.team?.slice(0, 4).map((m, idx) => (
+
+ {m.name}
+ {lang === 'de' ? m.role_de : m.role_en}
+
+ ))}
+
+
+
+
+
+ {es.theAsk} — {amountLabel}
+
+
+
+ {es.round}
+ {funding?.round_name || 'Pre-Seed'}
+
+
+ Instrument
+ {funding?.instrument || 'SAFE'}
+
+ {funding?.use_of_funds?.slice(0, 3).map((f, idx) => (
+
+ {lang === 'de' ? f.label_de : f.label_en}
+ {f.percentage}%
+
+ ))}
+
+
+
+
+ {/* PDF Download Button */}
+
+
+
+
+ )
+}
diff --git a/pitch-deck/lib/i18n.ts b/pitch-deck/lib/i18n.ts
index d3461df..7a35abf 100644
--- a/pitch-deck/lib/i18n.ts
+++ b/pitch-deck/lib/i18n.ts
@@ -9,6 +9,7 @@ const translations = {
},
slideNames: [
'Intro',
+ 'Executive Summary',
'Cover',
'Das Problem',
'Die Lösung',
@@ -30,6 +31,29 @@ const translations = {
'Anhang: KI-Pipeline',
'Anhang: SDK Demo',
],
+ executiveSummary: {
+ title: 'Executive Summary',
+ subtitle: 'BreakPilot ComplAI — Ihr Investment auf einen Blick',
+ problem: 'Das Problem',
+ problemText: 'Maschinenbauer entwickeln zunehmend Software — aber DSGVO, AI Act, CRA und NIS2 überfordern interne Teams. Bußgelder von über 4,1 Mrd. EUR und 30.000+ betroffene Unternehmen zeigen den Handlungsdruck.',
+ solution: 'Unsere Lösung',
+ solutionText: 'Self-Hosted KI-Plattform: Mac Mini/Studio im Serverraum scannt Code, bewertet Risiken und generiert Compliance-Dokumente automatisch. 57 Module, 19 Regularien, 2.274 indexierte Rechtstexte — kein Byte verlässt das Unternehmen.',
+ market: 'Markt',
+ businessModel: 'Geschäftsmodell',
+ businessModelText: 'Recurring Revenue mit Hardware-Moat. SaaS-Marge bei Self-Hosted-Sicherheit. Hardware-Einmalkauf + monatliche Lizenz.',
+ keyMetrics: 'Kennzahlen',
+ modules: 'SDK-Module',
+ regulations: 'Regularien',
+ legalTexts: 'Indexierte Rechtstexte',
+ containers: 'Container',
+ linesOfCode: 'Lines of Code',
+ theAsk: 'Finanzierung',
+ round: 'Runde',
+ contact: 'Kontakt',
+ downloadPdf: 'Als PDF herunterladen',
+ usp: 'USP',
+ uspText: 'Einziger Anbieter, der DSGVO + Code-Security + Self-Hosted KI für den Maschinenbau kombiniert.',
+ },
cover: {
tagline: 'Compliance & Code-Security für den Maschinenbau',
subtitle: 'Pre-Seed · Q4 2026',
@@ -233,6 +257,7 @@ const translations = {
},
slideNames: [
'Intro',
+ 'Executive Summary',
'Cover',
'The Problem',
'The Solution',
@@ -254,6 +279,29 @@ const translations = {
'Appendix: AI Pipeline',
'Appendix: SDK Demo',
],
+ executiveSummary: {
+ title: 'Executive Summary',
+ subtitle: 'BreakPilot ComplAI — Your Investment at a Glance',
+ problem: 'The Problem',
+ problemText: 'Machine manufacturers increasingly develop software — but GDPR, AI Act, CRA and NIS2 overwhelm internal teams. Over EUR 4.1B in fines and 30,000+ affected companies show the urgency.',
+ solution: 'Our Solution',
+ solutionText: 'Self-hosted AI platform: Mac Mini/Studio in the server room scans code, assesses risks and generates compliance documents automatically. 57 modules, 19 regulations, 2,274 indexed legal texts — no data leaves the company.',
+ market: 'Market',
+ businessModel: 'Business Model',
+ businessModelText: 'Recurring revenue with hardware moat. SaaS margins with self-hosted security. One-time hardware purchase + monthly license.',
+ keyMetrics: 'Key Metrics',
+ modules: 'SDK Modules',
+ regulations: 'Regulations',
+ legalTexts: 'Indexed Legal Texts',
+ containers: 'Containers',
+ linesOfCode: 'Lines of Code',
+ theAsk: 'Funding',
+ round: 'Round',
+ contact: 'Contact',
+ downloadPdf: 'Download as PDF',
+ usp: 'USP',
+ uspText: 'Only provider combining GDPR + code security + self-hosted AI for machine manufacturing.',
+ },
cover: {
tagline: 'Compliance & Code Security for Machine Manufacturers',
subtitle: 'Pre-Seed · Q4 2026',
diff --git a/pitch-deck/lib/presenter/presenter-script.ts b/pitch-deck/lib/presenter/presenter-script.ts
index 2d2d261..dfb25d0 100644
--- a/pitch-deck/lib/presenter/presenter-script.ts
+++ b/pitch-deck/lib/presenter/presenter-script.ts
@@ -26,7 +26,27 @@ export const PRESENTER_SCRIPT: SlideScript[] = [
transition_hint_en: 'Let us begin.',
},
- // 1 — cover (20s)
+ // 1 — executive-summary (30s)
+ {
+ slideId: 'executive-summary',
+ duration: 30,
+ paragraphs: [
+ {
+ text_de: 'Bevor wir ins Detail gehen, hier das Wichtigste auf einen Blick: BreakPilot ComplAI ist die einzige Self-Hosted Compliance- und Code-Security-Plattform speziell für den Maschinenbau.',
+ text_en: 'Before we dive into details, here is the key summary: BreakPilot ComplAI is the only self-hosted compliance and code security platform specifically for machine manufacturing.',
+ pause_after: 1500,
+ },
+ {
+ text_de: '57 SDK-Module, 19 Regularien, 761.000 Zeilen Code — und Sie können diesen Onepager als PDF herunterladen, um ihn weiterzuleiten.',
+ text_en: '57 SDK modules, 19 regulations, 761,000 lines of code — and you can download this one-pager as PDF to share it.',
+ pause_after: 1000,
+ },
+ ],
+ transition_hint_de: 'Nun zum vollständigen Pitch.',
+ transition_hint_en: 'Now for the full pitch.',
+ },
+
+ // 2 — cover (20s)
{
slideId: 'cover',
duration: 20,
diff --git a/pitch-deck/lib/slide-order.ts b/pitch-deck/lib/slide-order.ts
index 0282032..65c7fac 100644
--- a/pitch-deck/lib/slide-order.ts
+++ b/pitch-deck/lib/slide-order.ts
@@ -2,6 +2,7 @@ import { SlideId } from './types'
export const SLIDE_ORDER: SlideId[] = [
'intro-presenter',
+ 'executive-summary',
'cover',
'problem',
'solution',
diff --git a/pitch-deck/lib/types.ts b/pitch-deck/lib/types.ts
index 47cf3eb..36a5b4f 100644
--- a/pitch-deck/lib/types.ts
+++ b/pitch-deck/lib/types.ts
@@ -202,6 +202,7 @@ export interface ChatMessage {
export type SlideId =
| 'intro-presenter'
+ | 'executive-summary'
| 'cover'
| 'problem'
| 'solution'