diff --git a/pitch-deck/app/pitch-print/[versionId]/_components/PrintAnnexSlides.tsx b/pitch-deck/app/pitch-print/[versionId]/_components/PrintAnnexSlides.tsx index ecaca0c..3b73ed1 100644 --- a/pitch-deck/app/pitch-print/[versionId]/_components/PrintAnnexSlides.tsx +++ b/pitch-deck/app/pitch-print/[versionId]/_components/PrintAnnexSlides.tsx @@ -81,19 +81,29 @@ export function PrintStrategyPage({ lang, pageNum, totalPages, versionName }: Sl return ( - ( -
-
- {p.n} - {p.kpi} + { + // Split "2 Kunden · ARR €40k" into pieces for a richer outcome block + const kpiParts = p.kpi.split(' · ') + return ( +
+ {p.n} +
{p.t}
+
{p.subtitle}
+
+ +
+ {/* Bottom outcome block fills remaining vertical space and reads as a KPI tile */} +
+
{de ? 'Outcome' : 'Outcome'}
+
1 ? '1fr 1fr' : '1fr', gap: '3mm' }}> + {kpiParts.map((part, j) => ( +
{part}
+ ))} +
+
-
{p.t}
-
{p.subtitle}
-
- -
-
- ))} /> + ) + })} />
diff --git a/pitch-deck/app/pitch-print/[versionId]/_components/PrintIntroSlides.tsx b/pitch-deck/app/pitch-print/[versionId]/_components/PrintIntroSlides.tsx index fd1c27f..66ddd43 100644 --- a/pitch-deck/app/pitch-print/[versionId]/_components/PrintIntroSlides.tsx +++ b/pitch-deck/app/pitch-print/[versionId]/_components/PrintIntroSlides.tsx @@ -13,6 +13,22 @@ export function PrintCoverPage({ company, funding, lang, versionName }: { compan const amountLabel = amount >= 1_000_000 ? '€' + (amount / 1_000_000).toFixed(1).replace(/\.0$/, '') + 'M' : '€' + Math.round(amount / 1_000) + 'k' + const isConvertible = (instrument || '').toLowerCase().includes('wandeldarlehen') || + (instrument || '').toLowerCase().includes('convertible') || + (instrument || '').toLowerCase().includes('safe') + const coverTerms: [string, string][] = isConvertible + ? [ + [de ? 'Funding' : 'Funding', amountLabel], + [de ? 'Instrument' : 'Instrument', instrument], + [de ? 'Laufzeit' : 'Maturity', de ? '24 Mo.' : '24 mo'], + [de ? 'Standort' : 'HQ', company?.hq_city || 'Bodman'], + ] + : [ + [de ? 'Funding' : 'Funding', amountLabel], + [de ? 'Pre-Money' : 'Pre-money', '€4.0M'], + [de ? 'Instrument' : 'Instrument', instrument], + [de ? 'Standort' : 'HQ', company?.hq_city || 'Bodman'], + ] return (
@@ -87,12 +103,7 @@ export function PrintCoverPage({ company, funding, lang, versionName }: { compan {de ? 'Key Terms' : 'Key terms'}
- {([ - [de ? 'Funding' : 'Funding', amountLabel], - [de ? 'Pre-Money' : 'Pre-money', '€4.0M'], - [de ? 'Instrument' : 'Instrument', instrument], - [de ? 'Standort' : 'HQ', company?.hq_city || 'Bodman'], - ] as [string, string][]).map(([label, val]) => ( + {coverTerms.map(([label, val]) => (
{label}
{val}
@@ -341,14 +352,50 @@ export function PrintExecSummaryPage2({ lang, pageNum, totalPages, versionName } /* ===== PROBLEM ===== */ const DE_PROBLEM_CARDS = [ - { kicker: 'KI-DILEMMA', stat: 'Abgehängt', desc: 'Produzierende Unternehmen brauchen KI, um wettbewerbsfähig zu bleiben. Aber Microsoft Copilot, ChatGPT oder Claude an den eigenen Quellcode und die Konstruktionsdaten zu lassen, kommt für die meisten nicht in Frage. Wer auf US-KI verzichtet, verliert den Anschluss. Wer sie nutzt, riskiert seine Datensouveränität.', cite: 'Bitkom Cloud Monitor 2024 · DIHK Digitalisierungsumfrage 2024' }, - { kicker: 'PATRIOT ACT + FISA 702', stat: 'Kein Schutz', desc: 'Selbst wer EU-Server bei AWS, Google oder Microsoft bucht, ist nicht geschützt. US-Gesetze wie FISA 702 und der Cloud Act gelten extraterritorial, US-Behörden können auf Daten zugreifen, egal wo der Server steht. Das Schrems-II-Urteil des EuGH hat das bestätigt.', cite: 'EuGH C-311/18 (Schrems II, 2020)' }, - { kicker: 'REGULIERUNGS-TSUNAMI', stat: 'Nicht tragbar', desc: 'Seit 2024 greifen AI Act, NIS2 und Cyber Resilience Act, zusätzlich zu DSGVO, Data Act, Maschinenverordnung und Lieferkettengesetz. Europäische Unternehmen tragen Compliance-Kosten, die US- und Asien-Konkurrenten nicht haben. Pentests 15-40k €, CE-Risiko 10-25k €. KMU können das allein nicht mehr stemmen.', cite: 'VDMA Compliance-Kosten Maschinenbau 2024' }, + { kicker: 'KI-DILEMMA', stat: 'Abgehängt', desc: 'Produzierende Unternehmen brauchen KI, um wettbewerbsfähig zu bleiben. Aber Microsoft Copilot, ChatGPT oder Claude an den eigenen Quellcode und die Konstruktionsdaten zu lassen, kommt für die meisten nicht in Frage.', cite: 'Bitkom Cloud Monitor 2024 · DIHK Digitalisierungsumfrage 2024', + pulls: [ + { v: '64%', l: 'deutsche Industrie lehnt US-Cloud für sensible Daten ab' }, + { v: '>70%', l: 'Ablehnung im Maschinenbau speziell' }, + { v: '83%', l: 'KMU sehen Datenschutz als Haupthindernis für KI-Einsatz' }, + ], + }, + { kicker: 'PATRIOT ACT + FISA 702', stat: 'Kein Schutz', desc: 'Selbst wer EU-Server bei AWS, Google oder Microsoft bucht, ist nicht geschützt. US-Gesetze wie FISA 702 und der Cloud Act gelten extraterritorial. US-Behörden können auf Daten zugreifen, egal wo der Server steht.', cite: 'EuGH C-311/18 (Schrems II, 2020)', + pulls: [ + { v: '2020', l: 'EuGH erklärt EU-US Privacy Shield für ungültig' }, + { v: '0', l: 'rechtssichere Wege für Cloud-Daten via US-Anbieter' }, + { v: 'CLOUD Act', l: 'gilt extraterritorial für US-Mutterkonzerne' }, + ], + }, + { kicker: 'REGULIERUNGS-TSUNAMI', stat: 'Nicht tragbar', desc: 'Seit 2024 greifen AI Act, NIS2 und Cyber Resilience Act, zusätzlich zu DSGVO, Data Act, Maschinenverordnung und Lieferkettengesetz. Europäische Unternehmen tragen Compliance-Kosten, die US- und Asien-Konkurrenten nicht haben.', cite: 'VDMA Compliance-Kosten Maschinenbau 2024', + pulls: [ + { v: '30 000+', l: 'DE-Unternehmen direkt von NIS2 betroffen' }, + { v: '€15-40k', l: 'pro externem Pentest, einmal jährlich' }, + { v: '€10-25k', l: 'pro CE-Software-Risikobeurteilung' }, + ], + }, ] const EN_PROBLEM_CARDS = [ - { kicker: 'AI DILEMMA', stat: 'Left behind', desc: 'Manufacturing companies need AI to stay competitive. But letting Microsoft Copilot, ChatGPT or Claude access their source code and engineering data is out of the question for most. Those avoiding US AI fall behind. Those using it risk their data sovereignty.', cite: 'Bitkom Cloud Monitor 2024 · DIHK 2024' }, - { kicker: 'PATRIOT ACT + FISA 702', stat: 'No protection', desc: 'Even booking EU servers at AWS, Google or Microsoft offers no protection. US laws like FISA 702 and the Cloud Act apply extraterritorially, US authorities can access data regardless of server location. The Schrems II ruling by the CJEU confirmed this.', cite: 'CJEU C-311/18 (Schrems II, 2020)' }, - { kicker: 'REGULATION TSUNAMI', stat: 'Unsustainable', desc: 'Since 2024, the AI Act, NIS2 and Cyber Resilience Act apply, on top of GDPR, Data Act, Machinery Regulation and Supply Chain Act. European companies bear compliance costs that US and Asian competitors do not face. Pentests €15-40k, CE risk €10-25k. SMEs can no longer handle this alone.', cite: 'VDMA Compliance Costs Manufacturing 2024' }, + { kicker: 'AI DILEMMA', stat: 'Left behind', desc: 'Manufacturing companies need AI to stay competitive. But letting Microsoft Copilot, ChatGPT or Claude access their source code and engineering data is out of the question for most.', cite: 'Bitkom Cloud Monitor 2024 · DIHK 2024', + pulls: [ + { v: '64%', l: 'of German industry refuses US cloud for sensitive data' }, + { v: '>70%', l: 'rejection in manufacturing specifically' }, + { v: '83%', l: 'of SMEs cite data protection as the top AI barrier' }, + ], + }, + { kicker: 'PATRIOT ACT + FISA 702', stat: 'No protection', desc: 'Even booking EU servers at AWS, Google or Microsoft offers no protection. US laws like FISA 702 and the Cloud Act apply extraterritorially. US authorities can access data regardless of server location.', cite: 'CJEU C-311/18 (Schrems II, 2020)', + pulls: [ + { v: '2020', l: 'CJEU invalidates EU-US Privacy Shield' }, + { v: '0', l: 'legally safe paths for cloud data via US providers' }, + { v: 'CLOUD Act', l: 'applies extraterritorially to US parent companies' }, + ], + }, + { kicker: 'REGULATION TSUNAMI', stat: 'Unsustainable', desc: 'Since 2024, the AI Act, NIS2 and Cyber Resilience Act apply, on top of GDPR, Data Act, Machinery Regulation and Supply Chain Act. European companies bear compliance costs that US and Asian competitors do not face.', cite: 'VDMA Compliance Costs Manufacturing 2024', + pulls: [ + { v: '30 000+', l: 'DE companies directly hit by NIS2' }, + { v: '€15-40k', l: 'per external pentest, once a year' }, + { v: '€10-25k', l: 'per CE software risk assessment' }, + ], + }, ] export function PrintProblemPage({ lang, pageNum, totalPages, versionName }: SlideBase) { @@ -361,7 +408,16 @@ export function PrintProblemPage({ lang, pageNum, totalPages, versionName }: Sli
{c.kicker}
{c.stat}
-
{c.desc}
+
{c.desc}
+ {/* bottom stat block fills empty space and adds visual punch */} +
+ {c.pulls.map((p, j) => ( +
+
{p.v}
+
{p.l}
+
+ ))} +
))} /> @@ -379,14 +435,56 @@ export function PrintProblemPage({ lang, pageNum, totalPages, versionName }: Sli /* ===== SOLUTION ===== */ const DE_PILLARS = [ - { kicker: 'PILLAR 01', t: 'Kontinuierliche Code-Security', d: 'SAST, DAST, SBOM und Pentesting bei jeder Code-Änderung, nicht einmal im Jahr. Findings direkt als Tickets im Issue-Tracker deiner Wahl, mit Implementierungsvorschlägen.', stat: { v: '€15k+', l: 'Pentest-Kosten gespart / App / Jahr' } }, - { kicker: 'PILLAR 02', t: 'Compliance auf Autopilot', d: 'VVT, TOMs, DSFA, Löschfristen, CE-Risikobeurteilung automatisch. Nach dem Audit: Abweichungen End-to-End, Rollen, Stichtage, Tickets, Nachweise, Eskalation an GF.', stat: { v: '80%', l: 'Zeitersparnis bei Compliance-Prüfungen' } }, - { kicker: 'PILLAR 03', t: 'Deutsche Cloud, volle Integration', d: 'BSI-zertifizierte Cloud in Deutschland. Live-Support über Jitsi und Matrix. Keine US-SaaS im Source Code. Optional Mac Mini/Studio für absolute Privacy.', stat: { v: '100%', l: 'EU-Hosting, keine US-Anbieter' } }, + { kicker: 'PILLAR 01', t: 'Kontinuierliche Code-Security', d: 'SAST, DAST, SBOM und Pentesting bei jeder Code-Änderung, nicht einmal im Jahr. Findings direkt als Tickets im Issue-Tracker deiner Wahl, mit Implementierungsvorschlägen.', stat: { v: '€15k+', l: 'Pentest-Kosten gespart / App / Jahr' }, + bullets: [ + 'SAST + DAST + SBOM bei jedem Push (Semgrep, Gitleaks, Syft, Trivy)', + 'KI-Triage filtert False-Positives auf <2%', + 'LLM-basierter Auto-Fix in CI/CD direkt im Pull Request', + 'Autonomes KI-Pentesting mit Angriffsketten + Exploitability', + 'Integration in Jira, GitHub, GitLab, Azure DevOps', + ] }, + { kicker: 'PILLAR 02', t: 'Compliance auf Autopilot', d: 'VVT, TOMs, DSFA, Löschfristen und CE-Risikobeurteilung werden automatisch generiert. Nach dem Audit: Abweichungen End-to-End mit Rollen, Stichtagen, Tickets und Eskalation an die GF.', stat: { v: '80%', l: 'Zeitersparnis bei Compliance-Prüfungen' }, + bullets: [ + 'Auto-Generierung VVT (Art. 30 DSGVO) bei jeder Code-Änderung', + 'CE-Software-Risikobeurteilung auf Code-Basis (MaschVO 2023)', + 'Audit Manager: Tickets → Nachweise → GF-Eskalation bei SLA-Bruch', + 'Compliance LLM mit Quellenangabe — auditierbar zitierbar', + 'Tender Matching: RFQs in Stunden statt Wochen beantworten', + ] }, + { kicker: 'PILLAR 03', t: 'Deutsche Cloud, volle Integration', d: 'BSI-zertifizierte Cloud in Deutschland (SysEleven, IONOS). Live-Support über Jitsi und Matrix. Keine US-SaaS im Source Code. Optional Mac Mini/Studio für absolute Privacy.', stat: { v: '100%', l: 'EU-Hosting, keine US-Anbieter' }, + bullets: [ + 'BSI C5 zertifizierte Cloud-Hoster in DE und FR', + 'Self-Hosted Matrix (Chat) + Jitsi (Video) für Support-Calls', + 'Lokale LLM-Inferenz (Qwen3, DeepSeek) — air-gap-fähig', + 'Optional: Mac Mini/Studio on-premise für Kleinstunternehmen', + 'Vault, Keycloak, OPA für Secrets, SSO, Policies', + ] }, ] const EN_PILLARS = [ - { kicker: 'PILLAR 01', t: 'Continuous Code Security', d: 'SAST, DAST, SBOM and pentesting on every code change, not once a year. Findings as tickets in the issue tracker of your choice, with implementation suggestions.', stat: { v: '€15k+', l: 'pentest costs saved / app / year' } }, - { kicker: 'PILLAR 02', t: 'Compliance on Autopilot', d: 'RoPA, TOMs, DPIA, retention policies, CE risk assessment automatically. Post-audit: deviations end-to-end, roles, deadlines, tickets, evidence, escalation to management.', stat: { v: '80%', l: 'time saved on compliance checks' } }, - { kicker: 'PILLAR 03', t: 'German Cloud, Full Integration', d: 'BSI-certified cloud in Germany. Live support via Jitsi and Matrix. No US SaaS in source code. Optional Mac Mini/Studio for absolute privacy.', stat: { v: '100%', l: 'EU hosting, no US providers' } }, + { kicker: 'PILLAR 01', t: 'Continuous Code Security', d: 'SAST, DAST, SBOM and pentesting on every code change, not once a year. Findings land as tickets in your issue tracker, with implementation suggestions.', stat: { v: '€15k+', l: 'pentest costs saved / app / year' }, + bullets: [ + 'SAST + DAST + SBOM on every push (Semgrep, Gitleaks, Syft, Trivy)', + 'AI triage lowers false positives to <2%', + 'LLM-based auto-fix in CI/CD directly inside the pull request', + 'Autonomous AI pentesting with attack chains + exploitability', + 'Integration with Jira, GitHub, GitLab, Azure DevOps', + ] }, + { kicker: 'PILLAR 02', t: 'Compliance on Autopilot', d: 'RoPA, TOMs, DPIA, retention and CE risk assessment generated automatically. Post-audit: deviations end-to-end with roles, deadlines, tickets and escalation to management.', stat: { v: '80%', l: 'time saved on compliance checks' }, + bullets: [ + 'Auto-generated RoPA (GDPR Art. 30) on every code change', + 'CE software risk assessment at code level (Machinery Reg. 2023)', + 'Audit Manager: tickets → evidence → mgmt escalation on SLA breach', + 'Compliance LLM with citations — audit-citable answers', + 'Tender Matching: answer RFQs in hours not weeks', + ] }, + { kicker: 'PILLAR 03', t: 'German Cloud, Full Integration', d: 'BSI-certified cloud in Germany (SysEleven, IONOS). Live support via Jitsi and Matrix. No US SaaS in source code. Optional Mac Mini/Studio for absolute privacy.', stat: { v: '100%', l: 'EU hosting, no US providers' }, + bullets: [ + 'BSI C5 certified cloud hosts in DE and FR', + 'Self-hosted Matrix (chat) + Jitsi (video) for support calls', + 'Local LLM inference (Qwen3, DeepSeek) — air-gap capable', + 'Optional: Mac Mini/Studio on-premise for micro businesses', + 'Vault, Keycloak, OPA for secrets, SSO, policies', + ] }, ] export function PrintSolutionPage({ lang, pageNum, totalPages, versionName }: SlideBase) { @@ -399,8 +497,12 @@ export function PrintSolutionPage({ lang, pageNum, totalPages, versionName }: Sl
{p.kicker}
{p.t}
-
{p.d}
-
+
{p.d}
+ {/* Detail bullets fill the remaining vertical space */} +
+ +
+
{p.stat.v}
{p.stat.l}
diff --git a/pitch-deck/app/pitch-print/[versionId]/_components/PrintMarketSlides.tsx b/pitch-deck/app/pitch-print/[versionId]/_components/PrintMarketSlides.tsx index bab42b5..0c5782e 100644 --- a/pitch-deck/app/pitch-print/[versionId]/_components/PrintMarketSlides.tsx +++ b/pitch-deck/app/pitch-print/[versionId]/_components/PrintMarketSlides.tsx @@ -240,6 +240,31 @@ export function PrintTheAskPage({ funding, lang, pageNum, totalPages, versionNam const de = lang === 'de' const amount = funding?.amount_eur || 1_000_000 const instrument = funding?.instrument || (de ? 'Wandeldarlehen' : 'Convertible Loan') + const isConvertible = (instrument || '').toLowerCase().includes('wandeldarlehen') || + (instrument || '').toLowerCase().includes('convertible') || + (instrument || '').toLowerCase().includes('safe') + // For equity rounds we display Pre/Post/Investor-Share computed from a 20% + // assumed investor share. For convertibles those fields don't apply — show + // typical convertible terms instead (Discount, Maturity, Interest). + const equityShare = 0.20 + const postMoney = amount / equityShare + const preMoney = postMoney - amount + const fmtBig = (n: number) => n >= 1_000_000 + ? '€' + (n / 1_000_000).toFixed(n % 1_000_000 === 0 ? 0 : 1) + 'M' + : '€' + Math.round(n / 1_000) + 'k' + const termTiles: [string, string][] = isConvertible + ? [ + [de ? 'Funding' : 'Funding', formatFunding(amount)], + [de ? 'Discount' : 'Discount', '20%'], + [de ? 'Laufzeit' : 'Maturity', de ? '24 Monate' : '24 months'], + [de ? 'INVEST-Zuschuss' : 'INVEST grant', '20%'], + ] + : [ + [de ? 'Funding' : 'Funding', formatFunding(amount)], + [de ? 'Pre-Money' : 'Pre-money', fmtBig(preMoney)], + [de ? 'Post-Money' : 'Post-money', fmtBig(postMoney)], + [de ? 'Investor-Anteil' : 'Investor share', Math.round(equityShare * 100) + '%'], + ] const useOfFunds = funding?.use_of_funds || [ { category: 'engineering', percentage: 45, label_de: 'Engineering & Produkt', label_en: 'Engineering & Product' }, { category: 'sales', percentage: 30, label_de: 'Vertrieb & Marketing', label_en: 'Sales & Marketing' }, @@ -262,15 +287,11 @@ export function PrintTheAskPage({ funding, lang, pageNum, totalPages, versionNam
{instrument} · {funding?.round_name || 'Pre-Seed'} · {de ? 'Zielabschluss' : 'Target close'}: {formatTargetDate(funding?.target_date, de)}
-
- {[ - { l: de ? 'Pre-Money' : 'Pre-money', v: '€4.0M' }, - { l: de ? 'Post-Money' : 'Post-money', v: '€5.0M' }, - { l: de ? 'Investor-Anteil' : 'Investor share', v: '20%' }, - ].map((k, i) => ( +
+ {termTiles.map(([label, val], i) => (
-
{k.l}
-
{k.v}
+
{label}
+
{val}
))}
diff --git a/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx b/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx index 07b7282..959382c 100644 --- a/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx +++ b/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx @@ -340,7 +340,7 @@ export function PrintBusinessModelPage({ lang, pageNum, totalPages, versionName
-
{de ? 'Was der Kunde zahlt vs. spart (KMU 50 MA, Jahr 1)' : 'What customer pays vs. saves (SME 50 emp., year 1)'}
+
{de ? 'Kunde zahlt vs. spart · KMU 50 MA · Jahr 1' : 'Customer pays vs. saves · SME 50 emp. · Y1'}