feat(content): rewrite copy to focus on worry-free package and static sites
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 9s
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🩺 Smoke Test (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🏗️ Build (push) Has been cancelled

This commit is contained in:
2026-05-06 11:34:52 +02:00
parent 5663c3ae38
commit 07c8d7c668
6 changed files with 202 additions and 183 deletions

View File

@@ -37,17 +37,12 @@ import { Marker } from "@/src/components/Marker";
export default function AboutPage() {
return (
<div className="flex flex-col bg-white overflow-hidden relative">
{/* Background decoration removed per user request */}
{/* Hero Section */}
<section className="relative pt-12 md:pt-32 pb-8 md:pb-24 overflow-hidden border-b border-slate-50">
<Container variant="narrow" className="relative z-10">
<div className="flex flex-col items-center text-center space-y-6 md:space-y-12">
<Reveal width="fit-content">
<div className="relative">
{/* Structural rings around avatar */}
{/* Structural rings removed per user request */}
<div className="relative w-32 h-32 md:w-40 md:h-40 rounded-full overflow-hidden border border-slate-200 shadow-xl bg-white p-1 group">
<div className="w-full h-full rounded-full overflow-hidden relative aspect-square">
<img
@@ -65,7 +60,7 @@ export default function AboutPage() {
<div className="flex items-center justify-center gap-2 md:gap-4 mb-1 md:mb-4">
<div className="h-px w-6 md:w-8 bg-slate-900"></div>
<MonoLabel className="text-slate-900 text-[10px] md:text-sm">
Digital Architect
Webentwickler
</MonoLabel>
<div className="h-px w-6 md:w-8 bg-slate-900"></div>
</div>
@@ -77,8 +72,8 @@ export default function AboutPage() {
</Reveal>
<Reveal delay={0.3}>
<p className="text-slate-400 font-medium max-w-xl mx-auto text-sm md:text-xl">
15 Jahre Erfahrung. Ein Ziel: Websites, die ihre Versprechen
halten.
15 Jahre Erfahrung. Ein Ziel: Ihnen den Frust mit Websites zu
ersparen.
</p>
</Reveal>
</div>
@@ -99,8 +94,8 @@ export default function AboutPage() {
<div className="space-y-8 md:space-y-12">
<Reveal>
<H3 className="text-2xl md:text-5xl leading-tight max-w-3xl">
Vom Designer <br />
<span className="text-slate-400">zum Architekten.</span>
Aus der Praxis. <br />
<span className="text-slate-400">Für die Praxis.</span>
</H3>
</Reveal>
@@ -108,18 +103,18 @@ export default function AboutPage() {
<Reveal delay={0.1}>
<div className="space-y-6 md:space-y-8">
<LeadText className="text-xl md:text-2xl text-slate-400">
Agenturen, Konzerne, Startups ich habe die Branche von allen
Seiten kennengelernt. Was hängen geblieben ist:{" "}
Ich habe in Agenturen, Konzernen und Startups gearbeitet.
Dabei habe ich oft gesehen, woran Projekte scheitern: zu viele
Leute, zu viel Blabla, keine klaren Verantwortlichkeiten.{" "}
<span className="text-slate-900">
<Marker delay={0.2}>Ergebnisse</Marker> zählen. Nicht der
Weg dorthin.
<Marker delay={0.2}>Das mache ich anders.</Marker>
</span>
</LeadText>
<IconList className="space-y-4">
{[
"Frontend, Backend, Infrastruktur Fullstack",
"Komplexe Systeme auf das Wesentliche reduziert",
"Performance-Probleme systematisch gelöst",
"Kein Fachchinesisch, sondern klare Kommunikation",
"Fokus auf Ergebnisse statt auf endlose Meetings",
"Eine Person, die Ihr Projekt von A bis Z kennt",
].map((item, i) => (
<IconListItem key={i} bullet>
<BodyText className="text-lg">{item}</BodyText>
@@ -136,17 +131,20 @@ export default function AboutPage() {
className="group"
>
<H4 className="text-xl mb-6">
Heute: Direkte Zusammenarbeit ohne Reibungsverluste.
Meine Philosophie: Direkte Zusammenarbeit ohne
Reibungsverluste.
</H4>
<div className="flex flex-wrap gap-3">
{["Effizient", "Pragmatisch", "Verlässlich"].map((tag, i) => (
<span
key={i}
className="px-4 py-2 bg-white border border-slate-200 rounded-full shadow-sm"
>
<Label className="text-slate-900">{tag}</Label>
</span>
))}
{["Unkompliziert", "Persönlich", "Verlässlich"].map(
(tag, i) => (
<span
key={i}
className="px-4 py-2 bg-white border border-slate-200 rounded-full shadow-sm"
>
<Label className="text-slate-900">{tag}</Label>
</span>
),
)}
</div>
</Card>
</Reveal>
@@ -157,7 +155,7 @@ export default function AboutPage() {
{/* Section 02: Arbeitsweise HOW I work */}
<Section
number="02"
title="Arbeitsweise"
title="Ablauf"
variant="gray"
borderTop
illustration={<ResponsibilityIllustration className="w-24 h-24" />}
@@ -166,7 +164,7 @@ export default function AboutPage() {
<div className="space-y-12">
<Reveal>
<H3 className="text-2xl md:text-5xl leading-tight max-w-3xl">
So läuft ein Projekt <br />
So einfach läuft ein Projekt <br />
<span className="text-slate-400">bei mir ab.</span>
</H3>
</Reveal>
@@ -179,23 +177,23 @@ export default function AboutPage() {
{[
{
step: "01",
title: "Briefing",
desc: "Sie beschreiben Ihr Vorhaben. Ich höre zu und stelle die richtigen Fragen.",
title: "Kurzes Gespräch",
desc: "Sie beschreiben, was Sie brauchen. Kein stundenlanger Workshop, nur die Fakten.",
},
{
step: "02",
title: "Angebot",
desc: "Ein Fixpreis-Angebot mit klarem Leistungsumfang. Keine Überraschungen.",
title: "Klares Angebot",
desc: "Sie erhalten einen Fixpreis. Ohne Sternchen, ohne Nachforderungen.",
},
{
step: "03",
title: "Umsetzung",
desc: "Schnelle Iterationen. Sie sehen regelmäßig den Fortschritt und geben Feedback.",
title: "Schnelle Umsetzung",
desc: "Ich baue Ihre Website. Sie müssen sich um nichts kümmern.",
},
{
step: "04",
title: "Launch",
desc: "Go-Live mit automatisiertem Deployment. Dokumentiert und übergabereif.",
title: "Go-Live & Sorglos-Paket",
desc: "Die Seite geht online und ich übernehme ab sofort die Wartung und alle Änderungen für Sie.",
},
].map((item, i) => (
<Reveal key={i} delay={0.1 + i * 0.1}>
@@ -235,12 +233,12 @@ export default function AboutPage() {
<div className="prose prose-lg md:prose-2xl text-slate-500 leading-relaxed">
<p>
Keine Hierarchien. Keine Ausreden. Wenn etwas nicht passt,
liegt die Verantwortung bei mir.
liegt die Verantwortung allein bei mir.
</p>
<p>
Ich liefere nicht nur Code, sondern{" "}
Sie beauftragen mich, damit Sie{" "}
<span className="text-slate-900 font-medium relative inline-block">
Ergebnisse
Ruhe
<svg
className="absolute -bottom-2 left-0 w-full h-3 text-blue-500/30"
viewBox="0 0 100 10"
@@ -253,8 +251,8 @@ export default function AboutPage() {
fill="none"
/>
</svg>
</span>
, auf die Sie bauen können.
</span>{" "}
haben. Und genau das bekommen Sie.
</p>
</div>
@@ -269,7 +267,7 @@ export default function AboutPage() {
</div>
<div className="p-6 bg-slate-50 rounded-2xl border border-slate-100">
<h4 className="font-bold text-slate-900 mb-2">
Satisfaction Guarantee
Zufriedenheitsgarantie
</h4>
<p className="text-slate-500 text-sm">
Wir gehen erst live, wenn Sie zu 100% zufrieden sind.
@@ -299,8 +297,8 @@ export default function AboutPage() {
<div className="space-y-10 md:space-y-12">
<Reveal>
<H3 className="text-2xl md:text-5xl leading-tight max-w-3xl">
Bereit für eine <br />
<span className="text-slate-400">Zusammenarbeit?</span>
Bereit, Ihre Website <br />
<span className="text-slate-400">abzuhaken?</span>
</H3>
</Reveal>
@@ -313,15 +311,15 @@ export default function AboutPage() {
>
<div className="relative z-10 space-y-6 md:space-y-8">
<LeadText className="text-lg md:text-4xl leading-tight max-w-2xl text-slate-400">
Lassen Sie uns gemeinsam etwas bauen, das{" "}
Lassen Sie uns das Thema Website ein für alle Mal{" "}
<span className="text-slate-900">
wirklich <Marker delay={0.3}>funktioniert.</Marker>
sinnvoll <Marker delay={0.3}>lösen.</Marker>
</span>
</LeadText>
<div className="pt-2 md:pt-4">
<Button href="/contact" className="w-full md:w-auto">
Projekt anfragen
Kostenlos anfragen
</Button>
</div>
</div>

View File

@@ -16,11 +16,11 @@ const newsreader = Newsreader({
export const metadata: Metadata = {
title: {
default: "Marc Mintel",
default: "Marc Mintel — Professionelle Websites für Unternehmen",
template: "%s | Marc Mintel",
},
description:
"Technical problem solver's blog - practical insights and learning notes",
"Professionelle Websites zum Fixpreis. Ein Entwickler, ein Ansprechpartner — von der Idee bis zum fertigen Ergebnis. Inklusive Sorglos-Paket: Änderungen, Wartung und Sicherheit komplett abgedeckt.",
metadataBase: new URL("https://mintel.me"),
icons: {
icon: "/favicon.svg",
@@ -33,7 +33,7 @@ export default function RootLayout({
children: React.ReactNode;
}) {
return (
<html lang="en" className={`${inter.variable} ${newsreader.variable}`}>
<html lang="de" className={`${inter.variable} ${newsreader.variable}`}>
<body className="min-h-screen bg-white">
<Header />
<main>{children}</main>

View File

@@ -36,18 +36,18 @@ export default function LandingPage() {
{/* Rest of page on white */}
{/* Section 02: The Promise Streamlined */}
{/* Section 02: Was Sie bekommen */}
<Section
number="02"
title="Das Versprechen"
title="Ihr Vorteil"
borderTop
effects={<GradientMesh variant="metallic" className="opacity-70" />}
>
<div className="space-y-10 md:space-y-16 relative">
<Reveal>
<H3 className="max-w-3xl">
Kein Agentur-Zirkus. <br />
<Marker delay={0.3}>Ergebnisse.</Marker>
Sie kümmern sich um Ihr Geschäft. <br />
<Marker delay={0.3}>Ich um Ihre Website.</Marker>
</H3>
</Reveal>
@@ -55,23 +55,23 @@ export default function LandingPage() {
{[
{
icon: <ConceptCommunication className="w-8 h-8" />,
title: "Direkte Kommunikation",
text: "Sie sprechen mit dem Entwickler. Keine Stille Post, keine Umwege.",
title: "Ein Ansprechpartner",
text: "Sie sprechen direkt mit dem, der Ihre Website baut. Keine Agentur, keine Umwege, kein Stille-Post-Effekt.",
},
{
icon: <ConceptPrototyping className="w-8 h-8" />,
title: "Schnelle Umsetzung",
text: "Sichtbare Fortschritte in Tagen. Prototypen statt Konzeptpapiere.",
},
{
icon: <ConceptCode className="w-8 h-8" />,
title: "Sauberer Code",
text: "Maßgeschneiderte Architektur. Kein Baukasten, kein Plugin-Chaos.",
title: "Schnell sichtbare Ergebnisse",
text: "Kein monatelanges Warten. Sie sehen erste Entwürfe innerhalb weniger Tage — nicht erst nach Wochen.",
},
{
icon: <ConceptPrice className="w-8 h-8" />,
title: "Klare Fixpreise",
text: "Volle Budgetsicherheit. Keine versteckten Kosten.",
title: "Fixpreis ohne Überraschungen",
text: "Sie wissen vorher, was es kostet. Kein Stundenzettel, keine Nachforderungen, keine bösen Überraschungen.",
},
{
icon: <ConceptCode className="w-8 h-8" />,
title: "Null Arbeit für Sie",
text: "Keine Einarbeitung in ein CMS, keine Schulungen. Änderungen? Sagen Sie Bescheid — ich erledige das.",
},
].map((item, i) => (
<Reveal key={i} delay={0.1 + i * 0.1}>
@@ -95,47 +95,59 @@ export default function LandingPage() {
</div>
</Section>
{/* Section 03: The Difference Visual Comparison */}
{/* Section 03: Der Unterschied */}
<Section number="03" title="Der Unterschied" variant="white" borderTop>
<div className="space-y-10 md:space-y-16 relative">
<Reveal>
<H3 className="max-w-3xl">
Ich arbeite für das Ergebnis, <br />
nicht gegen die <Marker delay={0.4}>Uhr.</Marker>
Warum nicht einfach <br />
eine <Marker delay={0.4}>Agentur?</Marker>
</H3>
</Reveal>
<div className="grid grid-cols-1 gap-8 relative z-20">
<ComparisonRow
negativeLabel="Klassisch"
negativeText="Wochen in Planung, bevor eine einzige Zeile Code geschrieben wird."
positiveLabel="Mein Weg"
negativeLabel="Agentur"
negativeText="Projektmanager, Designer, Entwickler — Sie erklären Ihr Anliegen drei Mal."
positiveLabel="Bei mir"
positiveText={
<>
Schnelle Prototypen. Ergebnisse in{" "}
<PenCircle delay={0.5}>Tagen</PenCircle>, nicht Monaten.
<PenCircle delay={0.5}>Ein</PenCircle> Ansprechpartner für
alles. Von der ersten Idee bis zur fertigen Website.
</>
}
delay={0.1}
/>
<ComparisonRow
negativeLabel="Klassisch"
negativeText="Unvorhersehbare Kosten durch Stundenabrechnungen."
positiveLabel="Mein Weg"
negativeLabel="Agentur"
negativeText="Stundenabrechnungen, Nachträge, unklare Endkosten."
positiveLabel="Bei mir"
positiveText={
<>
<PenCircle delay={0.5}>Fixpreise.</PenCircle> Sie wissen von
Anfang an, was es kostet.
<PenCircle delay={0.5}>Fixpreis.</PenCircle> Sie wissen vorher
exakt, was es kostet. Punkt.
</>
}
reverse
delay={0.2}
/>
<ComparisonRow
negativeLabel="Baukasten"
negativeText="Sie bauen selbst, kämpfen mit Templates und sind auf sich allein gestellt."
positiveLabel="Bei mir"
positiveText={
<>
Ich baue, Sie lehnen sich zurück. Brauchen Sie eine Änderung?{" "}
<PenCircle delay={0.5}>Kurze Nachricht</PenCircle> genügt.
</>
}
delay={0.3}
/>
</div>
</div>
</Section>
{/* Section 04: Target Group */}
{/* Section 04: Für wen */}
<Section number="04" title="Für wen" borderTop>
<div className="grid grid-cols-1 md:grid-cols-1 lg:grid-cols-2 gap-4 md:gap-6 lg:gap-10 relative z-10">
<Reveal>
@@ -149,8 +161,9 @@ export default function LandingPage() {
Geschäftsführer
</H3>
<LeadText className="text-slate-400 text-base md:text-lg">
Sie wollen eine Website, die funktioniert ohne sich mit
Technik beschäftigen zu müssen.
Sie brauchen eine professionelle Website, die Ihr Unternehmen
repräsentiert ohne sich selbst mit Technik beschäftigen zu
müssen. Ich übernehme alles.
</LeadText>
</div>
<div className="pt-6 md:pt-8 border-t border-slate-50 mt-6 md:mt-8">
@@ -164,16 +177,16 @@ export default function LandingPage() {
<Card variant="glass" padding="normal" techBorder className="group">
<div className="space-y-6 relative overflow-hidden">
<div className="w-12 h-12 md:w-16 md:h-16 bg-slate-50 border border-slate-100 rounded-xl flex items-center justify-center">
{/* Icon placeholder or same as above if needed */}
<ConceptWebsite className="w-6 h-6 md:w-8 md:h-8" />
</div>
<H3 className="text-xl md:text-3xl">
Marketing & <br />
Vertrieb
Selbstständige & <br />
kleine Teams
</H3>
<LeadText className="text-slate-400 text-base md:text-lg">
Sie brauchen Landingpages und Tools, die Ergebnisse liefern.
Schnell und zuverlässig.
Sie wollen online sichtbar sein, aber keine Zeit in eine
Website stecken. Ich liefere Ihnen eine fertige Lösung Sie
konzentrieren sich auf Ihre Kunden.
</LeadText>
</div>
<div className="pt-6 md:pt-8 border-t border-slate-50 mt-6 md:mt-8">
@@ -186,7 +199,7 @@ export default function LandingPage() {
</div>
</Section>
{/* Section 05: Leistungen — Interactive Service Rows */}
{/* Section 05: Leistungen */}
<Section number="05" title="Leistungen" variant="gray" borderTop>
<div className="space-y-0 relative z-20">
{[
@@ -194,24 +207,24 @@ export default function LandingPage() {
num: "01",
binary: "00000001",
title: "Websites",
text: "High-Performance Websites mit maßgeschneiderter Architektur. Von der Konzeption bis zum Go-Live — individuell, schnell, messbar.",
tags: ["Next.js", "React", "TypeScript", "Performance"],
text: "Professionelle, schnelle Websites — individuell für Ihr Unternehmen gestaltet. Von der Firmenwebsite bis zur Landingpage.",
tags: ["Firmenwebsite", "Landingpage", "Responsive", "SEO"],
href: "/websites",
},
{
num: "02",
binary: "00000010",
title: "Systeme",
text: "Web-Applikationen und interne Tools, wenn Standard-Software nicht reicht. Dashboards, Portale, Automatisierungen.",
tags: ["Full-Stack", "APIs", "Datenbanken", "Auth"],
title: "Sorglos-Paket",
text: "Änderungen, Wartung, Sicherheit, Updates — alles inklusive. Sie sagen Bescheid, ich erledige das. Ein Jahr, ein Paket, null Aufwand.",
tags: ["Wartung", "Änderungen", "Sicherheit", "Updates"],
href: "/contact",
},
{
num: "03",
binary: "00000011",
title: "Automatisierung",
text: "Verbindung von Tools, automatische Prozesse, Daten-Synchronisation. Weniger manuelle Arbeit, mehr Effizienz.",
tags: ["CI/CD", "Workflows", "Integrationen", "Monitoring"],
title: "Web-Anwendungen",
text: "Wenn eine einfache Website nicht reicht: Kundenportale, interne Tools oder individuelle Lösungen für Ihr Business.",
tags: ["Portale", "Dashboards", "Automatisierung", "Tools"],
href: "/contact",
},
].map((service, i) => (
@@ -283,18 +296,18 @@ export default function LandingPage() {
<Reveal>
<div className="space-y-8 md:space-y-12 lg:space-y-16">
<H1 className="text-4xl md:text-6xl lg:text-8xl">
Lassen Sie uns <br />
<span className="text-slate-400">starten.</span>
Klingt gut? <br />
<span className="text-slate-400">Lassen Sie uns reden.</span>
</H1>
<div className="flex flex-col md:flex-row gap-6 md:gap-10 lg:gap-16 items-start relative z-10">
<div className="space-y-4 md:space-y-8 flex-1">
<LeadText className="text-lg md:text-3xl text-slate-400">
Beschreiben Sie kurz Ihr Vorhaben. Ich melde mich{" "}
Beschreiben Sie kurz, was Sie brauchen. Ich melde mich{" "}
<span className="text-slate-900 border-b-2 border-slate-900/10">
<Marker>zeitnah</Marker>
<Marker>innerhalb von 24 Stunden</Marker>
</span>{" "}
bei Ihnen.
mit einem konkreten Vorschlag.
</LeadText>
<div className="pt-2 md:pt-4">
<Button
@@ -302,7 +315,7 @@ export default function LandingPage() {
size="large"
className="w-full md:w-auto"
>
Projekt anfragen
Kostenlos anfragen
</Button>
</div>
</div>
@@ -314,7 +327,9 @@ export default function LandingPage() {
</div>
<BodyText className="text-sm md:text-base leading-snug">
Aktuell nehme ich Projekte für{" "}
<span className="font-bold text-slate-900"><Availability /></span>{" "}
<span className="font-bold text-slate-900">
<Availability />
</span>{" "}
an.
</BodyText>
</div>

View File

@@ -39,29 +39,30 @@ export default function WebsitesPage() {
<Reveal>
<div className="space-y-4">
<MonoLabel className="text-blue-500 tracking-[0.2em] text-[10px] md:text-xs">
SYSTEM ENGINEERING
PROFESSIONELLE WEBSITES
</MonoLabel>
<H3 className="text-4xl md:text-8xl leading-[1.0] tracking-tighter">
Websites, die einfach <br />
Ihre Website. <br />
<span className="text-slate-400">
<Marker>funktionieren.</Marker>
<Marker>Komplett sorgenfrei.</Marker>
</span>
</H3>
</div>
</Reveal>
<Reveal delay={0.2}>
<LeadText className="text-lg md:text-2xl max-w-2xl text-slate-500 md:text-slate-400 leading-relaxed">
Kein Baukasten. Kein Plugin-Chaos. Maßgeschneiderte Architektur
für{" "}
Kein WordPress-Chaos. Kein Baukasten-Frust. Ich baue Ihnen eine
maßgeschneiderte Website, mit der Sie{" "}
<span className="text-slate-900 font-bold underline decoration-slate-200 underline-offset-8">
maximale Performance
</span>
.
null Arbeit
</span>{" "}
haben.
</LeadText>
</Reveal>
</div>
<div className="space-y-12">
{/* Keeping the ArchitectureVisualizer for visual impact, but context is different */}
<Reveal delay={0.3} direction="up">
<ArchitectureVisualizer />
</Reveal>
@@ -69,24 +70,24 @@ export default function WebsitesPage() {
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
{[
{
label: "Next.js",
sub: "Architecture",
desc: "React-Framework für maximale SEO & Speed.",
label: "Kein CMS-Zwang",
sub: "Einfachheit",
desc: "Sie müssen kein System lernen. Ich übernehme alle Updates.",
},
{
label: "Docker",
sub: "Infrastructure",
desc: "Reproduzierbare Umgebungen überall.",
label: "Fixpreis",
sub: "Planbarkeit",
desc: "Klare Kosten von Anfang an. Keine versteckten Gebühren.",
},
{
label: "Directus",
sub: "Management",
desc: "Headless CMS für flexible Datenabfrage.",
label: "Pfeilschnell",
sub: "Performance",
desc: "Keine langen Ladezeiten. Ihre Kunden bleiben auf der Seite.",
},
{
label: "Gitea",
sub: "Pipeline",
desc: "Self-hosted Git & CI/CD Pipelines.",
label: "Sorglos",
sub: "Betreuung",
desc: "Hosting, Sicherheit, Backups? Darum kümmere ich mich.",
},
].map((item, i) => (
<Reveal key={i} delay={0.4 + i * 0.1}>
@@ -108,7 +109,7 @@ export default function WebsitesPage() {
{/* 02: Performance */}
<Section
number="02"
title="Performance"
title="Schnelligkeit"
borderTop
variant="gray"
illustration={<SpeedPerformance className="w-24 h-24" />}
@@ -117,9 +118,9 @@ export default function WebsitesPage() {
<div className="space-y-8 md:space-y-12">
<Reveal>
<H3 className="text-2xl md:text-5xl leading-tight max-w-3xl">
Geschwindigkeit ist <br />
Niemand wartet gerne. <br />
<span className="text-slate-400">
kein Extra. Sie ist <Marker delay={0.3}>Standard.</Marker>
Ihre Kunden <Marker delay={0.3}>erst recht nicht.</Marker>
</span>
</H3>
</Reveal>
@@ -127,18 +128,18 @@ export default function WebsitesPage() {
<div className="md:col-span-12 lg:col-span-7 space-y-6 md:space-y-8">
<Reveal delay={0.2}>
<LeadText className="text-lg md:text-xl text-slate-500 md:text-slate-400">
Jede Seite wird vorab gerendert und über ein CDN ausgeliefert.
Das Ergebnis: Ladezeiten unter einer Sekunde. Messbar.{" "}
<span className="text-slate-900">Reproduzierbar.</span>
Langsame Websites kosten bares Geld. Wenn Ihre Seite nicht
sofort lädt, ist der Besucher schon bei der Konkurrenz. Meine
Websites sind auf maximale Geschwindigkeit optimiert.
</LeadText>
</Reveal>
<Reveal delay={0.4}>
<IconList className="space-y-2 md:space-y-4">
{[
"Server-Side Rendering für sofortige Inhalte",
"Automatische Bild-Optimierung (WebP, AVIF)",
"Lighthouse-Score 90+ als Mindeststandard",
"Core Web Vitals im grünen Bereich",
"Sofortiger Seitenaufbau ohne Verzögerung",
"Automatische Bild-Optimierung für Smartphones",
"Bessere Google-Platzierung (SEO) durch Top-Speed",
"Höhere Zufriedenheit bei Ihren Besuchern",
].map((item, i) => (
<IconListItem key={i} bullet>
<LeadText className="text-base md:text-xl">
@@ -158,11 +159,11 @@ export default function WebsitesPage() {
className="text-center group py-10 md:py-12"
>
<div className="text-5xl md:text-8xl font-bold text-slate-900 tracking-tighter group-hover:scale-110 transition-transform duration-700">
90+
100%
</div>
<Label className="mt-4">Lighthouse Score</Label>
<Label className="mt-4">Fokus auf das Wesentliche</Label>
<span className="block text-[8px] md:text-[9px] font-mono text-slate-300 mt-2 tracking-wider">
PERFORMANCE · ACCESSIBILITY · SEO
SCHNELL · SICHER · ZUVERLÄSSIG
</span>
</Card>
</Reveal>
@@ -174,27 +175,24 @@ export default function WebsitesPage() {
{/* 03: Code-Qualität */}
<Section
number="03"
title="Code"
title="Qualität"
borderTop
illustration={<SolidFoundation className="w-24 h-24" />}
>
<div className="space-y-8 md:space-y-12">
<Reveal>
<H3 className="text-2xl md:text-5xl leading-tight max-w-3xl">
Keine Plugins. <br />
<span className="text-slate-400">Keine Abhängigkeiten.</span>
Handarbeit statt <br />
<span className="text-slate-400">Fertigbausatz.</span>
</H3>
</Reveal>
<Reveal delay={0.2}>
<LeadText className="text-xl md:text-2xl max-w-2xl text-slate-500 md:text-slate-400">
Ihre Website besteht aus{" "}
<span className="text-slate-900">Ihrem Code</span>. Kein
WordPress, kein Wix, keine Blackbox. Alles versioniert, alles
nachvollziehbar.
Vergessen Sie Sicherheitslücken durch veraltete Plugins oder
Themes, die ständig aktualisiert werden müssen.
</LeadText>
</Reveal>
{/* Git Branch Visualization */}
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
<Reveal delay={0.4}>
<CodeSnippet variant="git" />
@@ -203,21 +201,22 @@ export default function WebsitesPage() {
<div className="space-y-4 md:space-y-6">
<Card variant="glass" padding="normal" className="group">
<div className="space-y-2">
<Label className="text-slate-900">Versionskontrolle</Label>
<Label className="text-slate-900">
Saubere Programmierung
</Label>
<BodyText>
Jede Änderung ist dokumentiert. Rollbacks in Sekunden.
Kein wer hat das kaputt gemacht?".
Ihre Website wird von Grund auf solide entwickelt. Kein
unnötiger Ballast, der die Seite verlangsamt oder
angreifbar macht.
</BodyText>
</div>
</Card>
<Card variant="glass" padding="normal" className="group">
<div className="space-y-2">
<Label className="text-slate-900">
Automatisches Deployment
</Label>
<Label className="text-slate-900">Zukunftssicher</Label>
<BodyText>
Code wird geprüft, getestet und automatisch live
geschaltet. Ohne manuellen Eingriff.
Moderne Technologien garantieren, dass Ihre Website auch
in ein paar Jahren noch perfekt und fehlerfrei läuft.
</BodyText>
</div>
</Card>
@@ -227,10 +226,10 @@ export default function WebsitesPage() {
</div>
</Section>
{/* 04: Content-System */}
{/* 04: Content-System -> Sorglos Paket */}
<Section
number="04"
title="Inhalte"
title="Das Sorglos-Paket"
borderTop
variant="gray"
illustration={<LayerSeparation className="w-24 h-24" />}
@@ -241,12 +240,12 @@ export default function WebsitesPage() {
<Reveal>
<div className="space-y-4">
<MonoLabel className="text-blue-500 tracking-[0.2em] text-[10px] md:text-xs">
ARCHITECTURAL SEPARATION
NULL AUFWAND FÜR SIE
</MonoLabel>
<H3 className="text-4xl md:text-7xl leading-[1.1] tracking-tighter">
Inhalte pflegen <br />
Sie haben Besseres <br />
<span className="text-slate-400 italic font-serif">
ohne Angst.
zu tun.
</span>
</H3>
</div>
@@ -255,12 +254,11 @@ export default function WebsitesPage() {
<Reveal delay={0.2}>
<div className="space-y-6">
<LeadText className="text-lg md:text-2xl text-slate-500 md:text-slate-400 leading-relaxed max-w-3xl">
Vergessen Sie zerschossene Layouts nach einem Textupdate.
Meine Websites trennen{" "}
Bilder tauschen, Texte anpassen, Sicherheitsupdates
einspielen? Darum kümmern Sie sich nie wieder. Das{" "}
<span className="text-slate-900 font-bold underline decoration-blue-500/30 underline-offset-8">
Daten von Design
erledige ich.
</span>
.
</LeadText>
</div>
</Reveal>
@@ -277,14 +275,14 @@ export default function WebsitesPage() {
<Reveal delay={0.5}>
<div className="space-y-4">
<BodyText className="text-slate-500 leading-relaxed">
Durch eine krisenfeste Headless-Architektur (Directus)
bewegen Sie sich in einem geschützten Sandkasten während
das Frontend-System die visuelle Integrität Ihrer Marke
garantiert.
Mein Sorglos-Paket deckt alles für ein ganzes Jahr ab. Wenn
Sie eine Änderung brauchen, schreiben Sie mir einfach eine
kurze Nachricht. Kein kompliziertes
Content-Management-System (CMS), keine Schulungen.
</BodyText>
<div className="flex flex-wrap gap-3">
{["Layout-Schutz", "Live-Vorschau", "Role-RBAC"].map(
{["Änderungen inklusive", "Technik-Wartung", "Hosting"].map(
(tag, i) => (
<div
key={i}
@@ -301,16 +299,16 @@ export default function WebsitesPage() {
<Reveal delay={0.6}>
<div className="p-6 bg-slate-900 rounded-2xl shadow-xl text-[10px] font-mono text-white/50 space-y-3">
<div className="flex justify-between items-center text-white/90">
<span>PROTOCOL</span>
<span className="text-green-500 font-bold">ENFORCED</span>
<span>SERVICE_LEVEL</span>
<span className="text-green-500 font-bold">ACTIVE</span>
</div>
<p className="leading-tight">
Website architecture validates all CMS payloads against the
design schema before rendering.
Schicken Sie einfach eine E-Mail mit den neuen Texten oder
Bildern.
</p>
<div className="pt-2 border-t border-white/10 flex items-center justify-between">
<span>INTEGRITY</span>
<span className="text-white">100%</span>
<span>STRESS</span>
<span className="text-white">0%</span>
</div>
</div>
</Reveal>
@@ -334,14 +332,15 @@ export default function WebsitesPage() {
<div className="max-w-4xl space-y-6">
<Reveal>
<H3 className="text-4xl md:text-7xl leading-[1.1] tracking-tighter">
Was Sie konkret <br />
<span className="text-slate-400">bekommen.</span>
Ihre fertige <br />
<span className="text-slate-400">Website.</span>
</H3>
</Reveal>
<Reveal delay={0.2}>
<LeadText className="text-lg md:text-2xl text-slate-500 md:text-slate-400 max-w-2xl">
Keine halben Sachen. Ich liefere Ihnen ein schlüsselfertiges
System mit voller Kontrolle und Transparenz.
Professionell, schnell und wartungsfrei. Sie bekommen eine
schlüsselfertige Lösung, die Ihr Unternehmen optimal
präsentiert.
</LeadText>
</Reveal>
</div>
@@ -364,7 +363,7 @@ export default function WebsitesPage() {
href="/contact"
className="w-full md:w-auto h-16 px-10 text-lg rounded-2xl shadow-2xl shadow-blue-500/10"
>
Projekt anfragen
Kostenlos anfragen
</Button>
</div>
</Reveal>

View File

@@ -54,7 +54,7 @@ export const HeroSection: React.FC = () => {
<div className="w-1 h-1 rounded-full bg-blue-300 animate-pulse delay-100" />
</div>
<span className="text-[9px] md:text-[10px] font-mono font-bold tracking-[0.3em] md:tracking-[0.4em] text-slate-500 uppercase">
Digital_Architect // v.2026
Webentwicklung // Fixpreis
</span>
</motion.div>
@@ -83,16 +83,16 @@ export const HeroSection: React.FC = () => {
className="flex flex-col items-center gap-6 md:gap-8 lg:gap-12"
>
<p className="text-base md:text-xl lg:text-3xl text-slate-400 font-medium max-w-2xl leading-relaxed px-4">
Ein Entwickler. Ein Ansprechpartner.{" "}
Ohne Agentur, ohne Baukasten, ohne Stress.{" "}
<br className="hidden md:block" />
<span className="text-slate-900 font-bold tracking-tight">
Systematische Architekturen für das Web.
Ein Entwickler. Fixpreis. Fertig.
</span>
</p>
<div className="flex flex-col md:flex-row items-center justify-center gap-4 md:gap-6 w-full px-5 md:px-0">
<Button href="/contact" size="large" className="w-full md:w-auto">
Projekt anfragen
Kostenlos anfragen
</Button>
<Button
href="/websites"
@@ -100,7 +100,7 @@ export const HeroSection: React.FC = () => {
size="large"
className="w-full md:w-auto"
>
Prozess ansehen
So funktioniert's
</Button>
</div>
</motion.div>
@@ -111,12 +111,12 @@ export const HeroSection: React.FC = () => {
<div className="absolute inset-0 pointer-events-none border-[1px] border-slate-100 m-4 md:m-8 opacity-40 md:opacity-40" />
<div className="absolute top-8 left-8 p-4 hidden md:block opacity-20 transform -rotate-90 origin-top-left transition-opacity hover:opacity-100 group">
<span className="text-[10px] font-mono tracking-widest text-slate-400">
POS_TRANSMISSION_001
MARC_MINTEL_DEV
</span>
</div>
<div className="absolute bottom-4 right-4 md:bottom-8 md:right-8 p-4 opacity-20 transition-opacity hover:opacity-100 scale-75 md:scale-100 origin-bottom-right">
<span className="text-[10px] font-mono tracking-widest text-slate-400">
EST_2026 // M-ARCH
FRANKFURT // 2026
</span>
</div>

7
test-middleware.js Normal file
View File

@@ -0,0 +1,7 @@
const remainingPath =
"wp-content/cache/breeze-minification/css/breeze_klz-cables-com-1-10895.css";
const directory = "klz-cables.com";
const targetPath = remainingPath.startsWith(`assets/${directory}/`)
? `/${remainingPath}`
: `/assets/${directory}/${remainingPath}`;
console.log(`/showcase/${directory}${targetPath}`);