Files
breakpilot-core/pitch-deck/components/slides/StrategySlide.tsx
Benjamin Admin 720493f26b feat: Firmenstrategie — neue Folie + Channel-first + 35 Rollen überarbeitet
Neue Folie "Anhang: Strategie":
- USP-Darstellung: Code Security vs Compliance vs BreakPilot (3 Kacheln)
- 4 Phasen: Foundation → Traction → Scale → Leadership
- Channel-first-Argument: Bechtle/CANCOM statt Sales-Army
- Firmenaufbau von 5 auf 35 mit ARR-Zielen pro Phase

35 Positionen (DB) neu strukturiert:
- Phase 1: Security Engineer + CE-Risikoingenieur (Produkt-Fokus)
- Phase 2: Channel Manager Bechtle (Monat 6!) + DevSecOps + KI
- Phase 3: Erster Direktvertrieb + Compliance-Jurist + Pentester
- Phase 4+5: VP Sales, Enterprise, EU-Expansion, Developer Relations

Neue FAQs:
- competitor-focus: Deutsche Wettbewerber + Source Code Security (Priority 10)
- strategy-channel-first: Bechtle/CANCOM Channel-Strategie
- team-hiring-order: Aktualisiert mit neuer Reihenfolge

Sharang Parnerkar korrigiert (DB).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 09:17:32 +01:00

161 lines
8.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { Language } from '@/lib/types'
import { t } from '@/lib/i18n'
import GradientText from '../ui/GradientText'
import FadeInView from '../ui/FadeInView'
import GlassCard from '../ui/GlassCard'
import { Shield, ScanLine, FileText, Rocket, Users, Building2, Globe, TrendingUp } from 'lucide-react'
interface StrategySlideProps {
lang: Language
}
export default function StrategySlide({ lang }: StrategySlideProps) {
const de = lang === 'de'
return (
<div className="max-w-6xl mx-auto">
<FadeInView className="text-center mb-6">
<h2 className="text-3xl md:text-4xl font-bold mb-2">
<GradientText>{de ? 'Unsere Strategie' : 'Our Strategy'}</GradientText>
</h2>
<p className="text-sm text-white/50 max-w-3xl mx-auto">
{de
? 'Kein Wettbewerber verbindet Code Security mit Compliance-Automatisierung. Wir schließen diese Lücke — und bauen die Firma Channel-first auf.'
: 'No competitor combines code security with compliance automation. We close this gap — and build the company channel-first.'}
</p>
</FadeInView>
{/* USP: Die zwei Welten */}
<FadeInView delay={0.1} className="mb-6">
<div className="grid md:grid-cols-3 gap-3">
<GlassCard delay={0.1} hover={false} className="p-4 border-t-2 border-t-red-500">
<div className="flex items-center gap-2 mb-2">
<ScanLine className="w-5 h-5 text-red-400" />
<h3 className="text-sm font-bold text-red-400">{de ? 'Code Security' : 'Code Security'}</h3>
</div>
<p className="text-xs text-white/50 mb-2">{de ? 'Snyk, Checkmarx, Veracode' : 'Snyk, Checkmarx, Veracode'}</p>
<p className="text-xs text-white/60 italic">
{de
? '„Wir haben 47 Schwachstellen gefunden. CRA-konform? Nicht unser Problem."'
: '"We found 47 vulnerabilities. CRA compliant? Not our problem."'}
</p>
</GlassCard>
<GlassCard delay={0.15} hover={false} className="p-4 border-t-2 border-t-indigo-500">
<div className="flex items-center gap-2 mb-2">
<Shield className="w-5 h-5 text-indigo-400" />
<h3 className="text-sm font-bold text-indigo-400">BreakPilot COMPL<span className="text-purple-400">AI</span></h3>
</div>
<p className="text-xs text-white/50 mb-2">{de ? 'Verbindet beides' : 'Combines both'}</p>
<p className="text-xs text-white/60 italic">
{de
? '„Code gescannt, SBOM generiert, CRA gemappt, TOM aktualisiert, CE-Ordner fertig. Ein Tool."'
: '"Code scanned, SBOM generated, CRA mapped, TOM updated, CE folder ready. One tool."'}
</p>
</GlassCard>
<GlassCard delay={0.2} hover={false} className="p-4 border-t-2 border-t-cyan-500">
<div className="flex items-center gap-2 mb-2">
<FileText className="w-5 h-5 text-cyan-400" />
<h3 className="text-sm font-bold text-cyan-400">{de ? 'Compliance' : 'Compliance'}</h3>
</div>
<p className="text-xs text-white/50 mb-2">{de ? 'DataGuard, Vanta, Drata' : 'DataGuard, Vanta, Drata'}</p>
<p className="text-xs text-white/60 italic">
{de
? '„Dokumentation fertig. Code sicher? Brauchen Sie ein anderes Tool."'
: '"Documentation done. Code secure? You need a different tool."'}
</p>
</GlassCard>
</div>
</FadeInView>
{/* 4 Phasen */}
<FadeInView delay={0.25} className="mb-4">
<h3 className="text-xs font-bold text-white/40 uppercase tracking-wider mb-3">
{de ? 'Firmenaufbau in 4 Phasen' : 'Company Building in 4 Phases'}
</h3>
<div className="grid md:grid-cols-4 gap-3">
{[
{
icon: Rocket, color: 'text-indigo-400', bg: 'bg-indigo-500/10 border-indigo-500/20',
title: de ? 'Phase 1: Foundation' : 'Phase 1: Foundation',
period: 'Aug 2026 Jun 2027',
team: de ? '5 Mitarbeiter' : '5 employees',
arr: '75150k EUR',
items: de
? ['Security Engineer + CE-Risikoingenieur als erste Hires', '5 Pilotkunden im Maschinenbau', 'Gründer verkaufen selbst', 'Product-Market Fit beweisen']
: ['Security Engineer + CE Risk Engineer as first hires', '5 pilot customers in manufacturing', 'Founders sell themselves', 'Prove product-market fit'],
},
{
icon: Building2, color: 'text-purple-400', bg: 'bg-purple-500/10 border-purple-500/20',
title: de ? 'Phase 2: Traction' : 'Phase 2: Traction',
period: 'Jul 2027 Jun 2028',
team: de ? '10 Mitarbeiter' : '10 employees',
arr: '0,51,2M EUR',
items: de
? ['Channel Manager für Bechtle/CANCOM', 'DevSecOps + KI-Ingenieur', 'Lösungsberater für Partner-Demos', 'Wiederholbarer Vertriebsprozess']
: ['Channel Manager for Bechtle/CANCOM', 'DevSecOps + AI engineer', 'Solutions engineer for partner demos', 'Repeatable sales process'],
},
{
icon: Users, color: 'text-emerald-400', bg: 'bg-emerald-500/10 border-emerald-500/20',
title: de ? 'Phase 3: Scale' : 'Phase 3: Scale',
period: 'Jul 2028 Jun 2029',
team: de ? '17→25 Mitarbeiter' : '17→25 employees',
arr: '24M EUR',
items: de
? ['Erster Direktvertrieb neben Channel', 'Compliance-Jurist für Glaubwürdigkeit', 'Security-Analyst / Pentester', 'VP Sales übernimmt vom CEO']
: ['First direct sales alongside channel', 'Compliance lawyer for credibility', 'Security analyst / pentester', 'VP Sales takes over from CEO'],
},
{
icon: Globe, color: 'text-amber-400', bg: 'bg-amber-500/10 border-amber-500/20',
title: de ? 'Phase 4: Leadership' : 'Phase 4: Leadership',
period: 'Jul 2029 Dez 2030',
team: de ? '25→35 Mitarbeiter' : '25→35 employees',
arr: '410M EUR',
items: de
? ['EU-Expansion (AT, CH, Benelux)', 'Enterprise-Vertrieb', 'Developer Relations (Snyk-Modell)', 'Break-Even oder Series A']
: ['EU expansion (AT, CH, Benelux)', 'Enterprise sales', 'Developer Relations (Snyk model)', 'Break-even or Series A'],
},
].map((phase, idx) => {
const Icon = phase.icon
return (
<GlassCard key={idx} delay={0.25 + idx * 0.05} hover={false} className={`p-3 ${phase.bg} border`}>
<div className="flex items-center gap-2 mb-1">
<Icon className={`w-4 h-4 ${phase.color}`} />
<h4 className={`text-xs font-bold ${phase.color}`}>{phase.title}</h4>
</div>
<p className="text-[10px] text-white/30 mb-1">{phase.period}</p>
<div className="flex justify-between text-[10px] mb-2">
<span className="text-white/50">{phase.team}</span>
<span className={`font-mono font-bold ${phase.color}`}>{phase.arr}</span>
</div>
<div className="space-y-1">
{phase.items.map((item, i) => (
<p key={i} className="text-[10px] text-white/60 pl-3 relative">
<span className={`absolute left-0 top-1 w-1.5 h-1.5 rounded-full ${phase.color.replace('text-', 'bg-')}/60`} />
{item}
</p>
))}
</div>
</GlassCard>
)
})}
</div>
</FadeInView>
{/* Channel-First Argument */}
<FadeInView delay={0.5}>
<div className="bg-gradient-to-r from-indigo-500/10 to-purple-500/10 border border-indigo-500/20 rounded-xl px-5 py-3 text-center">
<p className="text-sm text-white/70">
{de
? '„Channel-first statt Sales-Army: Ein Bechtle-Rahmenvertrag öffnet den Zugang zu tausenden Maschinenbauern. Direktvertrieb skaliert linear — Channel skaliert exponentiell."'
: '"Channel-first instead of sales army: One Bechtle framework contract opens access to thousands of manufacturers. Direct sales scales linearly — channel scales exponentially."'}
</p>
</div>
</FadeInView>
</div>
)
}