From d1b55cd65bbf78e648077bfce0a7cd47817c622b Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar <30073382+mighty840@users.noreply.github.com> Date: Wed, 20 May 2026 12:54:31 +0200 Subject: [PATCH] feat(pitch-print): redesign Pricing slide as 3 distinct product cards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pricing slide previously rendered as a 4-column DataTable buried below unit economics — the 3 tiers were hard to find. Rebuilt as the Claude Design PREISE pattern: three prominent product cards side by side. Each card: - Mono tier label kicker (STARTER / PROFESSIONAL / ENTERPRISE) at top - Target audience line ("<25 Mitarbeiter · Basis-Module" etc.) - Hero price (€3.600 / €18.000 / ab €50.000) + /Jahr unit - 4–5 feature checkmarks (green ✓) - Tinted background per tier: violet-50 for Starter, white-gradient for featured Professional, amber-50 for Enterprise Professional card carries: - 2px violet border (vs 1px on others) - Drop shadow - "BELIEBT" / "POPULAR" pill badge floating above its top edge in violet Below the 3 cards, a compact 2-col footer: - left: 4 Unit Economics tiles (~70% gross margin, ~3.5× LTV/CAC, etc.) - right: emerald net-effect callout (+€30k per SME / yr) Co-Authored-By: Claude Opus 4.7 --- .../_components/PrintProductSlides.tsx | 148 ++++++++++++------ 1 file changed, 104 insertions(+), 44 deletions(-) diff --git a/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx b/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx index 3baae15..da39017 100644 --- a/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx +++ b/pitch-deck/app/pitch-print/[versionId]/_components/PrintProductSlides.tsx @@ -1,5 +1,5 @@ import { Language, PitchProduct } from '@/lib/types' -import { Page, Bullets, Callout, COLORS, DataTable, StatLine } from './PrintLayout' +import { Page, Bullets, Callout, COLORS, DataTable } from './PrintLayout' import { LoopDiagram } from './PrintDiagrams' import { getDetails } from '@/components/slides/USPSlide.data' import { @@ -350,59 +350,119 @@ export function PrintHowItWorksPage({ lang, pageNum, totalPages, versionName }: export function PrintBusinessModelPage({ lang, pageNum, totalPages, versionName }: SlideBase) { const de = lang === 'de' + const MONO = "'JetBrains Mono', ui-monospace, monospace" + + const tiers = [ + { + name: 'Starter', + target: de ? '< 25 Mitarbeiter · Basis-Module' : '< 25 employees · basic modules', + price: '€3.600', + unit: de ? '/ Jahr' : '/ year', + features: de + ? ['DSGVO + Audit + DSR-Workflow', 'Compliance Scanner (CI/CD)', 'EU-Hosting · BSI C5', 'E-Mail-Support'] + : ['GDPR + Audit + DSR workflow', 'Compliance Scanner (CI/CD)', 'EU hosting · BSI C5', 'Email support'], + tint: COLORS.violet400, + bg: COLORS.violet50, + featured: false, + }, + { + name: 'Professional', + target: de ? '25–250 Mitarbeiter · alle Module' : '25–250 employees · all modules', + price: '€18.000', + unit: de ? '/ Jahr' : '/ year', + features: de + ? ['Alle 12 Module', 'Priority-Support · Onboarding-Call', 'CE-Software-Risiko + Tender Matching', 'Dedicated CSM · 14-tägige Reviews', 'Custom-Integrationen (Jira, GitLab)'] + : ['All 12 modules', 'Priority support · onboarding call', 'CE software risk + tender matching', 'Dedicated CSM · biweekly reviews', 'Custom integrations (Jira, GitLab)'], + tint: COLORS.violet600, + bg: `linear-gradient(180deg, ${COLORS.violet50} 0%, #ffffff 60%, ${COLORS.violet50} 100%)`, + featured: true, + }, + { + name: 'Enterprise', + target: de ? '250+ Mitarbeiter · maßgeschneidert' : '250+ employees · custom', + price: de ? 'ab €50.000' : 'from €50k', + unit: de ? '/ Jahr' : '/ year', + features: de + ? ['Alles aus Professional', 'SLA · Custom Contract', 'On-Premise / Air-Gap (Mac Mini/Studio)', 'Dedicated Customer Engineering', 'Multi-Region Audit-Trail'] + : ['Everything in Professional', 'SLA · custom contract', 'On-premise / air-gap (Mac Mini/Studio)', 'Dedicated customer engineering', 'Multi-region audit trail'], + tint: COLORS.amber600, + bg: COLORS.amber50, + featured: false, + }, + ] + return ( - + -
-
-
{de ? 'Pricing-Tiers' : 'Pricing tiers'}
- + {/* 3 product cards */} +
+ {tiers.map((t) => ( +
+ {/* Featured badge */} + {t.featured && ( +
{de ? 'Beliebt' : 'Popular'}
+ )} -
-
{de ? 'Unit Economics (Reifephase)' : 'Unit Economics (mature)'}
-
- {[ - { n: '~70%', l: de ? 'Bruttomarge' : 'Gross margin', tone: 'positive' as const }, - { n: '~3,5×', l: 'LTV / CAC', tone: 'positive' as const }, - { n: '~14m', l: de ? 'CAC-Payback' : 'CAC payback' }, - { n: '<8%', l: de ? 'Net Churn p.a.' : 'Net churn p.a.', tone: 'positive' as const }, - ].map((k, i) => ( -
-
{k.n}
-
{k.l}
+
{t.name}
+
{t.target}
+ + {/* Price */} +
+
{t.price}
+
{t.unit}
+
+ + {/* Features */} +
+ {t.features.map((f, i) => ( +
+ + {f}
))}
+ ))} +
+ + {/* Unit economics + savings — bottom strip */} +
+
+
{de ? 'Unit Economics · Reifephase' : 'Unit Economics · Mature'}
+
+ {[ + { n: '~70%', l: de ? 'Bruttomarge' : 'Gross margin', tone: 'positive' as const }, + { n: '~3,5×', l: 'LTV / CAC', tone: 'positive' as const }, + { n: '~14m', l: de ? 'CAC-Payback' : 'CAC payback' }, + { n: '<8%', l: de ? 'Net Churn p.a.' : 'Net churn p.a.', tone: 'positive' as const }, + ].map((k, i) => ( +
+
{k.n}
+
{k.l}
+
+ ))} +
-
-
{de ? 'Kunde zahlt vs. spart · KMU 50 MA · Jahr 1' : 'Customer pays vs. saves · SME 50 emp. · Y1'}
-
- - - - - - +
+
{de ? 'Netto-Effekt · KMU 50 MA / Jahr 1' : 'Net effect · SME 50 emp. / Y1'}
+
+
+€30k
+
{de ? 'pro KMU / Jahr' : 'per SME / yr'}
-
-
{de ? 'Netto-Effekt Jahr 1' : 'Net effect year 1'}
-
+€30.000
-
{de ? 'Kunde spart €55k, zahlt €25k. ROI ab Tag 1.' : 'Customer saves €55k, pays €25k. ROI from day 1.'}
+
+ {de ? 'Kunde spart €55k (Pentests, CE-Risiko, Compliance-Zeit), zahlt €25k. ROI ab Tag 1.' : 'Customer saves €55k (pentests, CE risk, compliance time), pays €25k. ROI from day 1.'}