feat: Add staged funding model, financial compute engine, annex slides and UI enhancements
Some checks failed
ci/woodpecker/push/integration Pipeline failed
ci/woodpecker/push/main Pipeline failed
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled

Restructure financial plan from single 200k SAFE to realistic staged funding
(25k Stammkapital, 25k Angel, 200k Wandeldarlehen, 1M Series A = 1.25M total).
Add 60-month compute engine with CAPEX/OPEX accounting, cash constraints,
hardware financing (30% upfront / 70% leasing), and revenue-based hiring caps.
Rebuild TheAskSlide with 4-event funding timeline, update i18n (DE/EN),
chat agent core messages, and add 15 new annex/technology slides with
supporting UI components (KPICard, RunwayGauge, WaterfallChart, etc.).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
BreakPilot Dev
2026-02-14 21:20:02 +01:00
parent ac1bb1d97b
commit b464366341
44 changed files with 5196 additions and 262 deletions

View File

@@ -0,0 +1,129 @@
'use client'
import { motion } from 'framer-motion'
import { Server, Brain, Shield, Layers, Bot } from 'lucide-react'
import { Language } from '@/lib/types'
import GradientText from '../ui/GradientText'
import FadeInView from '../ui/FadeInView'
interface AnnexUSPOverviewSlideProps {
lang: Language
}
const usps = [
{
icon: Server,
gradient: 'from-blue-500 to-cyan-500',
titleDE: 'Self-Hosted',
titleEN: 'Self-Hosted',
descDE: 'Volle Datensouveraenitaet. Kein Byte verlaesst das Unternehmen. Hardware steht im eigenen Serverraum.',
descEN: 'Full data sovereignty. No byte leaves the company. Hardware sits in your own server room.'
},
{
icon: Brain,
gradient: 'from-purple-500 to-pink-500',
titleDE: 'AI-First',
titleEN: 'AI-First',
descDE: 'Alles was durch KI loesbar ist, wird durch KI geloest. Kein klassischer Support, minimales Personal.',
descEN: 'Everything solvable by AI is solved by AI. No traditional support, minimal personnel.'
},
{
icon: Shield,
gradient: 'from-green-500 to-emerald-500',
titleDE: 'Hardware-Moat',
titleEN: 'Hardware-Moat',
descDE: 'Apple Hardware als physische Markteintrittsbarriere. Wechselkosten machen Lock-in positiv.',
descEN: 'Apple hardware as physical market entry barrier. Switching costs create positive lock-in.'
},
{
icon: Layers,
gradient: 'from-amber-500 to-orange-500',
titleDE: 'All-in-One',
titleEN: 'All-in-One',
descDE: 'DSGVO + AI Act + NIS2 in einer Loesung. Kein Tool-Dschungel, eine Plattform fuer alles.',
descEN: 'GDPR + AI Act + NIS2 in one solution. No tool jungle, one platform for everything.'
},
{
icon: Bot,
gradient: 'from-pink-500 to-rose-500',
titleDE: 'Autonomous Support',
titleEN: 'Autonomous Support',
descDE: '24/7 KI-Support beantwortet Fragen, aendert Dokumente, bereitet Audits vor. Ohne menschliches Eingreifen.',
descEN: '24/7 AI support answers questions, modifies documents, prepares audits. Without human intervention.'
}
]
export default function AnnexUSPOverviewSlide({ lang }: AnnexUSPOverviewSlideProps) {
return (
<div className="max-w-6xl mx-auto px-4">
<FadeInView>
<div className="text-center mb-12">
<h2 className="text-4xl md:text-5xl font-bold mb-4">
<GradientText>
{lang === 'de' ? 'Unsere 5 USPs' : 'Our 5 USPs'}
</GradientText>
</h2>
<p className="text-xl text-white/60">
{lang === 'de' ? 'Was uns einzigartig macht' : 'What makes us unique'}
</p>
</div>
</FadeInView>
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
{usps.slice(0, 3).map((usp, index) => {
const Icon = usp.icon
return (
<motion.div
key={index}
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: index * 0.1, duration: 0.5 }}
className="bg-white/[0.04] border border-white/[0.06] rounded-xl p-4 relative overflow-hidden"
>
<div className={`absolute top-0 left-0 right-0 h-1 bg-gradient-to-r ${usp.gradient}`} />
<div className="flex flex-col items-center text-center pt-2">
<div className={`w-16 h-16 rounded-full bg-gradient-to-r ${usp.gradient} flex items-center justify-center mb-4`}>
<Icon className="w-8 h-8 text-white" />
</div>
<h3 className="text-xl font-bold text-white mb-3">
{lang === 'de' ? usp.titleDE : usp.titleEN}
</h3>
<p className="text-sm text-white/70 leading-relaxed">
{lang === 'de' ? usp.descDE : usp.descEN}
</p>
</div>
</motion.div>
)
})}
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto">
{usps.slice(3, 5).map((usp, index) => {
const Icon = usp.icon
return (
<motion.div
key={index + 3}
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: (index + 3) * 0.1, duration: 0.5 }}
className="bg-white/[0.04] border border-white/[0.06] rounded-xl p-4 relative overflow-hidden"
>
<div className={`absolute top-0 left-0 right-0 h-1 bg-gradient-to-r ${usp.gradient}`} />
<div className="flex flex-col items-center text-center pt-2">
<div className={`w-16 h-16 rounded-full bg-gradient-to-r ${usp.gradient} flex items-center justify-center mb-4`}>
<Icon className="w-8 h-8 text-white" />
</div>
<h3 className="text-xl font-bold text-white mb-3">
{lang === 'de' ? usp.titleDE : usp.titleEN}
</h3>
<p className="text-sm text-white/70 leading-relaxed">
{lang === 'de' ? usp.descDE : usp.descEN}
</p>
</div>
</motion.div>
)
})}
</div>
</div>
)
}