feat(pitch-deck): TheAsk — 40k/160k/200k tiles, BAFA+L-Bank hint, FAQ, skip CapTable for Wandeldarlehen
Some checks failed
Build pitch-deck / build-push-deploy (push) Successful in 1m8s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 36s
CI / test-python-voice (push) Successful in 37s
CI / test-bqas (push) Has been cancelled

- Funding tiles: 40k investor (ab 20%) + 160k L-Bank = 200k, optional 400k row
- Remove Cap Table "Beispielrechnung" from TheAsk slide
- BAFA INVEST title: add hint that L-Bank+BAFA combination must be verified
- Skip CapTable slide entirely for Wandeldarlehen versions (useEffect auto-advance)
- FAQ: add Wandeldarlehen/Pre-Seed BW entry + BAFA+Pre-Seed compatibility entry
- FAQ: fix outdated BAFA INVEST percentage (20% → 15%) in investment-captable entry

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-04-16 08:20:29 +02:00
parent 8f44d907a5
commit cbee0b534f
3 changed files with 74 additions and 66 deletions

View File

@@ -1,6 +1,6 @@
'use client'
import { useCallback, useState } from 'react'
import { useCallback, useEffect, useState } from 'react'
import { AnimatePresence } from 'framer-motion'
import { useSlideNavigation } from '@/lib/hooks/useSlideNavigation'
import { useKeyboard } from '@/lib/hooks/useKeyboard'
@@ -67,6 +67,14 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
const error = previewData ? null : fetched.error
const nav = useSlideNavigation()
const [fabOpen, setFabOpen] = useState(false)
const isWandeldarlehen = (data?.funding?.instrument || '').toLowerCase().includes('wandeldarlehen')
// Skip cap-table slide for Wandeldarlehen versions
useEffect(() => {
if (nav.currentSlide === 'cap-table' && isWandeldarlehen) {
nav.nextSlide()
}
}, [nav.currentSlide, isWandeldarlehen, nav.nextSlide])
const presenter = usePresenterMode({
goToSlide: nav.goToSlide,
@@ -173,6 +181,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
case 'the-ask':
return <TheAskSlide lang={lang} funding={data.funding} />
case 'cap-table':
if (isWandeldarlehen) return null
return <CapTableSlide lang={lang} />
case 'customer-savings':
return <SavingsSlide lang={lang} />

View File

@@ -76,21 +76,45 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
</p>
</motion.div>
{isWandeldarlehen && (
<div className="flex items-center justify-center gap-3 mt-4">
<div className="text-center px-4 py-2 bg-indigo-500/10 border border-indigo-500/20 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-lg font-bold text-indigo-400">200k EUR</p>
<div className="space-y-3 mt-4">
{/* Row 1: 200k Scenario */}
<div className="flex items-center justify-center gap-3">
<div className="text-center px-4 py-2 bg-indigo-500/10 border border-indigo-500/20 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-lg font-bold text-indigo-400">40k EUR</p>
<p className="text-[10px] text-white/30">{de ? 'ab 20% — auch mehr möglich' : 'from 20% — more possible'}</p>
</div>
<span className="text-2xl text-white/30 font-light">+</span>
<div className="text-center px-4 py-2 bg-emerald-500/10 border border-emerald-500/20 rounded-xl">
<p className="text-xs text-white/40">L-Bank Pre-Seed</p>
<p className="text-lg font-bold text-emerald-400">160k EUR</p>
</div>
<span className="text-2xl text-white/30 font-light">=</span>
<div className="text-center px-4 py-2 bg-white/5 border border-white/10 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-lg font-bold text-white">200k EUR</p>
</div>
</div>
<span className="text-2xl text-white/30 font-light">+</span>
<div className="text-center px-4 py-2 bg-emerald-500/10 border border-emerald-500/20 rounded-xl">
<p className="text-xs text-white/40">L-Bank Pre-Seed</p>
<p className="text-lg font-bold text-emerald-400">200k EUR</p>
</div>
<span className="text-2xl text-white/30 font-light">=</span>
<div className="text-center px-4 py-2 bg-white/5 border border-white/10 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-lg font-bold text-white">400k EUR</p>
{/* Row 2: 400k Scenario (optional) */}
<div className="flex items-center justify-center gap-3 opacity-60">
<div className="text-center px-3 py-1.5 bg-indigo-500/5 border border-indigo-500/10 rounded-xl">
<p className="text-[10px] text-white/30">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-sm font-bold text-indigo-400/70">80k EUR</p>
</div>
<span className="text-lg text-white/20 font-light">+</span>
<div className="text-center px-3 py-1.5 bg-emerald-500/5 border border-emerald-500/10 rounded-xl">
<p className="text-[10px] text-white/30">L-Bank Pre-Seed</p>
<p className="text-sm font-bold text-emerald-400/70">320k EUR</p>
</div>
<span className="text-lg text-white/20 font-light">=</span>
<div className="text-center px-3 py-1.5 bg-white/5 border border-white/10 rounded-xl">
<p className="text-[10px] text-white/30">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-sm font-bold text-white/70">400k EUR</p>
</div>
</div>
<p className="text-[10px] text-white/25 text-center">
{de ? 'Optional: doppelte Tranche bei höherem Investor-Anteil' : 'Optional: double tranche with higher investor share'}
</p>
</div>
)}
</FadeInView>
@@ -182,55 +206,6 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
</div>
</FadeInView>
{/* Cap Table */}
<FadeInView delay={0.7} className="mb-6">
<GlassCard hover={false} className="p-6">
<h3 className="text-lg font-semibold text-white mb-4 text-center">
{de ? 'Cap Table — Beispielrechnung' : 'Cap Table — Example Calculation'}
</h3>
<div className="grid md:grid-cols-2 gap-6">
<div>
<p className="text-xs text-white/40 mb-3 text-center font-semibold uppercase tracking-wider">
{de ? 'Vor Conversion' : 'Before Conversion'}
</p>
<div className="space-y-2">
<div className="flex justify-between items-center bg-white/5 rounded-lg px-4 py-2">
<span className="text-sm text-white/70">{de ? 'Gründer' : 'Founders'}</span>
<span className="text-sm font-bold text-white">100%</span>
</div>
<div className="flex justify-between items-center bg-indigo-500/10 border border-indigo-500/20 rounded-lg px-4 py-2">
<span className="text-sm text-indigo-300">{de ? 'Wandeldarlehen' : 'Convertible Loan'}</span>
<span className="text-xs font-semibold text-indigo-400">{de ? 'ausstehend' : 'outstanding'}</span>
</div>
</div>
</div>
<div>
<p className="text-xs text-white/40 mb-3 text-center font-semibold uppercase tracking-wider">
{de ? 'Nach Conversion (Beispiel)' : 'After Conversion (Example)'}
</p>
<div className="space-y-2">
<div className="flex justify-between items-center bg-white/5 rounded-lg px-4 py-2">
<span className="text-sm text-white/70">{de ? 'Gründer' : 'Founders'}</span>
<span className="text-sm font-bold text-white">~80-85%</span>
</div>
<div className="flex justify-between items-center bg-indigo-500/10 rounded-lg px-4 py-2">
<span className="text-sm text-indigo-300">{de ? 'Investor' : 'Investor'}</span>
<span className="text-sm font-bold text-indigo-400">~10-15%</span>
</div>
<div className="flex justify-between items-center bg-emerald-500/10 rounded-lg px-4 py-2">
<span className="text-sm text-emerald-300">L-Bank / Pre-Seed</span>
<span className="text-sm font-bold text-emerald-400">~5%</span>
</div>
</div>
</div>
</div>
<p className="text-[11px] text-white/30 mt-4 text-center italic">
{de
? '* Beispielhafte Darstellung. Tatsächliche Anteile abhängig von Bewertung und Discount bei Conversion.'
: '* Illustrative example. Actual shares depend on valuation and discount at conversion.'}
</p>
</GlassCard>
</FadeInView>
</>
)}
@@ -296,7 +271,9 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
<Landmark className="w-5 h-5 text-indigo-400 mt-0.5 shrink-0" />
<div>
<p className="text-sm font-bold text-white mb-1">
{de ? 'BAFA INVEST — Zuschuss für Wagniskapital' : 'BAFA INVEST — Venture Capital Grant'}
{de
? 'BAFA INVEST — Zuschuss für Wagniskapital (Kombinierbarkeit mit L-Bank Wandeldarlehen muss geprüft werden)'
: 'BAFA INVEST — Venture Capital Grant (Compatibility with L-Bank convertible loan must be verified)'}
</p>
<p className="text-xs text-white/50 leading-relaxed">
{de

View File

@@ -462,8 +462,8 @@ export const PRESENTER_FAQ: FAQEntry[] = [
keywords: ['bewertung', 'valuation', 'cap table', 'anteile', 'shares', 'equity', 'invest', 'pre-money', 'post-money', 'wie viel prozent', 'how much percent', 'verwässerung', 'dilution'],
question_de: 'Wie ist die Bewertung und wie sieht der Cap Table aus?',
question_en: 'What is the valuation and cap table?',
answer_de: 'Wir gehen mit einer Pre-Money-Bewertung von 4 Millionen Euro in die Pre-Seed-Runde. Bei einem Investment von 975.000 Euro ergibt sich eine Post-Money-Bewertung von knapp 5 Millionen Euro. Der Investor erhält dafür etwa 19,6 Prozent der Anteile. Die beiden Gründer halten zusammen 75 Prozent, wobei ein ESOP-Pool von 5,4 Prozent für Schlüsselmitarbeiter vorgesehen ist, die in der frühen Phase unter Marktgehalt einsteigen. Besonders attraktiv für Business Angels: Über das INVEST-Programm des BAFA erhalten Investoren 20 Prozent ihres Investments als staatlichen Zuschuss zurück — das sind bei 975.000 Euro Investment ganze 195.000 Euro nicht rückzahlbarer Zuschuss. Die einzige Bedingung ist eine Haltefrist von drei Jahren.',
answer_en: 'We enter the pre-seed round with a pre-money valuation of 4 million euros. With an investment of 975,000 euros, this results in a post-money valuation of just under 5 million euros. The investor receives approximately 19.6 percent of the shares. Both founders hold 75 percent together, with a 5.4 percent ESOP pool reserved for key employees joining in the early phase below market salary. Particularly attractive for business angels: through the BAFA INVEST program, investors receive 20 percent of their investment back as a government grant — that is 195,000 euros non-repayable on a 975,000 euro investment. The only condition is a three-year holding period.',
answer_de: 'Wir gehen mit einer Pre-Money-Bewertung von 4 Millionen Euro in die Pre-Seed-Runde. Bei einem Investment von 975.000 Euro ergibt sich eine Post-Money-Bewertung von knapp 5 Millionen Euro. Der Investor erhält dafür etwa 19,6 Prozent der Anteile. Die beiden Gründer halten zusammen 75 Prozent, wobei ein ESOP-Pool von 5,4 Prozent für Schlüsselmitarbeiter vorgesehen ist, die in der frühen Phase unter Marktgehalt einsteigen. Besonders attraktiv für Business Angels: Über das INVEST-Programm des BAFA erhalten Investoren bis zu 15 Prozent ihres Investments als steuerfreien Erwerbszuschuss zurück (max. 50.000 Euro pro Einzelinvestment) sowie zusätzlich 25 Prozent Exit-Zuschuss auf Veräußerungsgewinne. Die Bedingungen sind eine Haltefrist von drei Jahren und der Investor muss eine natürliche Person sein. Das Programm ist bis 31.12.2026 verlängert.',
answer_en: 'We enter the pre-seed round with a pre-money valuation of 4 million euros. With an investment of 975,000 euros, this results in a post-money valuation of just under 5 million euros. The investor receives approximately 19.6 percent of the shares. Both founders hold 75 percent together, with a 5.4 percent ESOP pool reserved for key employees joining in the early phase below market salary. Particularly attractive for business angels: through the BAFA INVEST program, investors receive up to 15 percent of their investment as a tax-free acquisition grant (max. EUR 50,000 per single investment) plus an additional 25 percent exit grant on capital gains. Requirements are a three-year minimum holding period and the investor must be a natural person. The program has been extended until 31.12.2026.',
goto_slide: 'cap-table',
priority: 10,
},
@@ -478,6 +478,28 @@ export const PRESENTER_FAQ: FAQEntry[] = [
priority: 9,
},
// === WANDELDARLEHEN & FÖRDER-KOMBINATION ===
{
id: 'invest-wandeldarlehen-preseed',
keywords: ['wandeldarlehen', 'convertible', 'darlehen', 'loan', 'pre-seed', 'l-bank', 'lbank', 'bw', 'baden-württemberg', 'conversion', 'wandlung', 'umwandlung'],
question_de: 'Wie funktioniert das Wandeldarlehen mit Pre-Seed BW?',
question_en: 'How does the convertible loan work with Pre-Seed BW?',
answer_de: 'Unser Wandeldarlehen ist über das Pre-Seed-Programm von Start-up BW / L-Bank strukturiert. Der private Investor beteiligt sich mit mindestens 20 Prozent der Gesamtsumme (ab 40.000 Euro), die L-Bank stellt die restlichen bis zu 80 Prozent als Zuwendung mit Wandlungsvorbehalt bereit. Bei einer Gesamtfinanzierung von 200.000 Euro bedeutet das: 40.000 Euro vom Investor und 160.000 Euro von der L-Bank. Optional ist auch eine doppelte Tranche mit 400.000 Euro Gesamtfinanzierung möglich (80.000 Euro Investor, 320.000 Euro L-Bank). Das Wandeldarlehen hat keine sofortige Bewertung — bei der nächsten qualifizierenden Finanzierungsrunde wandelt es automatisch in Anteile, typischerweise mit einem Discount für den Frühphasen-Investor. Der Vorteil für den Investor: weniger Kapitaleinsatz bei gleichzeitig starkem Hebel durch die staatliche Co-Finanzierung, und keine sofortige Verwässerung der Gründeranteile.',
answer_en: 'Our convertible loan is structured through the Pre-Seed BW / L-Bank program. The private investor contributes at least 20 percent of the total amount (from EUR 40,000), while L-Bank provides the remaining up to 80 percent as a grant with conversion option. For a total funding of EUR 200,000, this means EUR 40,000 from the investor and EUR 160,000 from L-Bank. Optionally, a double tranche of EUR 400,000 total is possible (EUR 80,000 investor, EUR 320,000 L-Bank). The convertible loan has no immediate valuation — at the next qualifying funding round, it automatically converts to equity, typically with a discount for the early-stage investor. The advantage for the investor: less capital deployed with strong leverage through government co-financing, and no immediate dilution of founder shares.',
goto_slide: 'the-ask',
priority: 10,
},
{
id: 'invest-bafa-preseed-kombination',
keywords: ['bafa', 'invest', 'kombination', 'combination', 'kompatibel', 'compatible', 'förderung', 'funding', 'zuschuss', 'grant', 'kombinierbar', 'combinable', 'förderfähig', 'eligible'],
question_de: 'Kann man BAFA INVEST und Pre-Seed BW kombinieren?',
question_en: 'Can BAFA INVEST and Pre-Seed BW be combined?',
answer_de: 'Grundsätzlich ja, aber nur unter klaren strukturellen Bedingungen. Beide Programme haben unterschiedliche Anforderungen an das Finanzierungsinstrument: BAFA INVEST fördert den privaten Investor mit bis zu 15 Prozent Erwerbszuschuss, bevorzugt aber Eigenkapital oder eigenkapitalähnliche Instrumente. Die L-Bank Pre-Seed verlangt explizit ein Wandeldarlehen. Das bedeutet: Nicht jedes Standard-Wandeldarlehen ist automatisch BAFA-INVEST-förderfähig. Damit die Kombination funktioniert, muss das Wandeldarlehen BAFA-konform ausgestaltet sein — also klare Conversion-Regeln haben und wirtschaftlich wie Equity wirken. Zusätzliche BAFA-Voraussetzungen: der Investor muss eine natürliche Person sein, darf kein Bestandsgesellschafter sein, das Mindestinvestment beträgt 10.000 Euro, die Mindesthaltedauer ist 3 Jahre, und das Unternehmen muss vor dem Investment BAFA-zertifiziert sein. Wir empfehlen, die konkrete Kombinierbarkeit für den jeweiligen Fall mit dem BAFA und dem L-Bank-Betreuungspartner abzustimmen, bevor das Termsheet finalisiert wird. Richtig aufgesetzt, profitiert der Investor von bis zu 15 Prozent Erwerbszuschuss plus 25 Prozent Exit-Zuschuss — zusätzlich zum Hebel durch die L-Bank-Co-Finanzierung.',
answer_en: 'In principle yes, but only under clear structural conditions. Both programs have different requirements for the financial instrument: BAFA INVEST supports the private investor with up to 15 percent acquisition grant but prefers equity or equity-like instruments. L-Bank Pre-Seed explicitly requires a convertible loan. This means: not every standard convertible loan is automatically eligible for BAFA INVEST. For the combination to work, the convertible loan must be structured in a BAFA-compliant way — with clear conversion rules and economic characteristics similar to equity. Additional BAFA requirements: the investor must be a natural person, must not be an existing shareholder, minimum investment is EUR 10,000, minimum holding period is 3 years, and the company must be BAFA-certified before the investment. We recommend coordinating the specific combinability with BAFA and the L-Bank supervising partner before finalizing the term sheet. Properly structured, the investor benefits from up to 15 percent acquisition grant plus 25 percent exit grant — on top of the leverage from L-Bank co-financing.',
goto_slide: 'the-ask',
priority: 10,
},
// === TEAM & PERSONALAUFBAU ===
{
id: 'team-structure',