From 6db0056329bad910665c67f2d840d433be215799 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Mon, 20 Apr 2026 18:11:49 +0200 Subject: [PATCH] feat(pitch-deck): pipeline stats from DB on Folie 2 + Optimizer on Folie 5 + quote fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folie 2 (Executive Summary): - KPIs (Controls, Regulations) now from pitch_pipeline_stats DB - "110 Gesetze" → dynamic from DB (380+) Folie 5 (Solution): - Added Compliance Optimizer banner below 3 pillars - "Nicht nur erlaubt/verboten — maximale Ausgestaltung jedes KI-Use-Cases" USP Slide: - Quote fix: "wie weit du maximal gehen kannst" (was: "wie du maximal weit gehen kannst") Co-Authored-By: Claude Opus 4.6 (1M context) --- .../slides/ExecutiveSummarySlide.tsx | 12 ++++++++--- .../components/slides/SolutionSlide.tsx | 21 +++++++++++++++++++ pitch-deck/components/slides/USPSlide.tsx | 2 +- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/pitch-deck/components/slides/ExecutiveSummarySlide.tsx b/pitch-deck/components/slides/ExecutiveSummarySlide.tsx index d94c37a..5f7bc6d 100644 --- a/pitch-deck/components/slides/ExecutiveSummarySlide.tsx +++ b/pitch-deck/components/slides/ExecutiveSummarySlide.tsx @@ -1,6 +1,6 @@ 'use client' -import { useCallback } from 'react' +import { useCallback, useEffect, useState } from 'react' import { Language, PitchData } from '@/lib/types' import { t, formatEur } from '@/lib/i18n' import { useFpKPIs } from '@/lib/hooks/useFpKPIs' @@ -25,6 +25,12 @@ export default function ExecutiveSummarySlide({ lang, data, investorId, preferre // Unternehmensentwicklung from fp_* tables (source of truth) const { kpis: fpKPIs } = useFpKPIs(isWandeldarlehen) + // Pipeline stats from DB + const [pipelineStats, setPipelineStats] = useState>({}) + useEffect(() => { + fetch('/api/pipeline-stats', { cache: 'no-store' }).then(r => r.json()).then(setPipelineStats).catch(() => {}) + }, []) + const funding = data.funding const amount = funding?.amount_eur || 0 const amountLabel = amount >= 1_000_000 @@ -382,8 +388,8 @@ export default function ExecutiveSummarySlide({ lang, data, investorId, preferre
{[ - { value: '25.000+', label: es.controls, icon: Shield, color: '#6366f1' }, - { value: '110', label: es.regulations, icon: Brain, color: '#60a5fa' }, + { value: pipelineStats.unique_controls ? `${Math.round(pipelineStats.unique_controls.value / 1000)}k+` : '25k+', label: es.controls, icon: Shield, color: '#6366f1' }, + { value: pipelineStats.legal_sources ? `${pipelineStats.legal_sources.value}+` : '380+', label: es.regulations, icon: Brain, color: '#60a5fa' }, { value: '10', label: es.industries, icon: Target, color: '#34d399' }, { value: '500K+', label: es.linesOfCode, icon: Cpu, color: '#fbbf24' }, { value: '80%', label: de ? 'Zeitersparnis bei\nCompliance-Prüfungen' : 'Time saved on\ncompliance checks', icon: TrendingUp, color: '#10b981' }, diff --git a/pitch-deck/components/slides/SolutionSlide.tsx b/pitch-deck/components/slides/SolutionSlide.tsx index b0b8f4b..2946155 100644 --- a/pitch-deck/components/slides/SolutionSlide.tsx +++ b/pitch-deck/components/slides/SolutionSlide.tsx @@ -52,6 +52,27 @@ export default function SolutionSlide({ lang }: SolutionSlideProps) { ) })}
+ + {/* Compliance Optimizer MOAT */} + +
+
+
+ +
+
+

+ {de ? 'Compliance Optimizer — Nicht nur „erlaubt/verboten"' : 'Compliance Optimizer — Not just "allowed/forbidden"'} +

+

+ {de + ? 'Unsere Plattform zeigt die maximal zulässige Ausgestaltung jedes KI-Use-Cases. Statt Einschränkung: optimale Ausnutzung des regulatorischen Raums — deterministisch, automatisiert und auditierbar.' + : 'Our platform shows the maximum permissible configuration of every AI use case. Instead of restriction: optimal utilization of the regulatory space — deterministic, automated and auditable.'} +

+
+
+
+
) } diff --git a/pitch-deck/components/slides/USPSlide.tsx b/pitch-deck/components/slides/USPSlide.tsx index 57bdd67..767e5e9 100644 --- a/pitch-deck/components/slides/USPSlide.tsx +++ b/pitch-deck/components/slides/USPSlide.tsx @@ -214,7 +214,7 @@ export default function USPSlide({ lang }: USPSlideProps) {

{de - ? '„Jeder kann sagen, was verboten ist. Kaum jemand kann sagen, wie du maximal weit gehen kannst, ohne es zu brechen. Das ist unser Produkt."' + ? '„Jeder kann sagen, was verboten ist. Kaum jemand kann sagen, wie weit du maximal gehen kannst, ohne es zu brechen. Das ist unser Produkt."' : '"Everyone can say what is forbidden. Almost no one can say how far you can go without breaking it. That is our product."'}