diff --git a/apps/web/app/about/page.tsx b/apps/web/app/about/page.tsx index 281f923..ebfab3f 100644 --- a/apps/web/app/about/page.tsx +++ b/apps/web/app/about/page.tsx @@ -48,14 +48,14 @@ export default function AboutPage() {
-
-
+
+
Marc Mintel
diff --git a/apps/web/app/case-studies/klz-cables/page.tsx b/apps/web/app/case-studies/klz-cables/page.tsx index 2ce937d..5920860 100644 --- a/apps/web/app/case-studies/klz-cables/page.tsx +++ b/apps/web/app/case-studies/klz-cables/page.tsx @@ -25,33 +25,7 @@ import { Layers, } from "lucide-react"; -/** - * TECHNICAL MARKER COMPONENT - * Implements the "hand-drawn marker" effect from STYLEGUIDE.md - * Updated: Only yellow marker as requested. - */ -const Marker: React.FC<{ children: React.ReactNode; delay?: number }> = ({ - children, - delay = 0, -}) => { - return ( - - - ); -}; +import { Marker } from "../../../src/components/Marker"; export default function KLZCablesCaseStudy() { const { scrollYProgress } = useScroll(); @@ -170,9 +144,9 @@ export default function KLZCablesCaseStudy() { Ich habe die KLZ-Architektur radikal auf einen entkoppelten High-Performance-Stack umgestellt. WordPress fungiert hier - nicht als CMS-Baukasten, sondern als{" "} - Headless JSON-Provider. Durch die - Implementierung nativer PHP-Microservices und den Verzicht auf + nicht als CMS-Baukasten, sondern speichert alle technischen + Attribute in einer zentralen relationalen Instanz. Durch die + Implementierung nativer PHP-Services und den Verzicht auf volatile Drittanbieter-Plugins wurde ein System geschaffen, das keine technologischen Überraschungen zulässt.{" "} Stability by Design. @@ -316,7 +290,6 @@ export default function KLZCablesCaseStudy() {
- {/* --- SECTION 03: COMMERCE --- */}
-
+
- System-Analyse anfragen + Architektur-Audit anfragen diff --git a/apps/web/app/case-studies/page.tsx b/apps/web/app/case-studies/page.tsx index acd131e..c50a1c2 100644 --- a/apps/web/app/case-studies/page.tsx +++ b/apps/web/app/case-studies/page.tsx @@ -36,7 +36,7 @@ export default function CaseStudiesPage() { but a static image or a styled div is more standard for a card. */}
KLZ Cables Logo Projekt
konfigurieren.} + title={ + <> + Projekt
+ konfigurieren. + + } description="Nutzen Sie den Konfigurator für eine erste Einschätzung oder schreiben Sie mir direkt eine Email." - backLink={{ href: '/', label: 'Zurück' }} + backLink={{ href: "/", label: "Zurück" }} backgroundSymbol="?" /> -
+
-
+
- - Email + + + Email +

marc@mintel.me

diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index ec7d0fe..507482d 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -9,18 +9,25 @@ import { ConceptWebsite, DifferenceIllustration, HeroArchitecture, - HeroMainIllustration -} from '../src/components/Landing'; -import { Reveal } from '../src/components/Reveal'; -import { Section } from '../src/components/Section'; -import { H1, H3, LeadText, BodyText, MonoLabel, Label } from '../src/components/Typography'; -import { BackgroundGrid, Card, Container } from '../src/components/Layout'; -import { Button } from '../src/components/Button'; + HeroMainIllustration, +} from "../src/components/Landing"; +import { Reveal } from "../src/components/Reveal"; +import { Marker } from "../src/components/Marker"; +import { Section } from "../src/components/Section"; +import { + H1, + H3, + LeadText, + BodyText, + MonoLabel, + Label, +} from "../src/components/Typography"; +import { BackgroundGrid, Card, Container } from "../src/components/Layout"; +import { Button } from "../src/components/Button"; export default function LandingPage() { return (
- {/* Hero Section */} @@ -33,7 +40,9 @@ export default function LandingPage() {
- Digital Architect + + Digital Architect +

Websites
@@ -54,7 +63,10 @@ export default function LandingPage() {

- +
@@ -65,16 +77,14 @@ export default function LandingPage() {
{/* Section 02: The Promise */} -
+

Schluss mit aufgeblähten Prozessen.
- Ich reduziere auf das Wesentliche. + + Ich reduziere auf das Wesentliche. +

@@ -86,10 +96,22 @@ export default function LandingPage() {
    {[ - { text: 'Direkte Kommunikation ohne Umwege', icon: }, - { text: 'Schnelle Prototypen statt langer Konzepte', icon: }, - { text: 'Sauberer Code, der auch morgen noch läuft', icon: }, - { text: 'Fixpreise für volle Budgetsicherheit', icon: } + { + text: "Direkte Kommunikation ohne Umwege", + icon: , + }, + { + text: "Schnelle Prototypen statt langer Konzepte", + icon: , + }, + { + text: "Sauberer Code, der auch morgen noch läuft", + icon: , + }, + { + text: "Fixpreise für volle Budgetsicherheit", + icon: , + }, ].map((item, i) => (
  • @@ -109,14 +131,19 @@ export default function LandingPage() {
      {[ - 'Endlose Workshops ohne Ergebnis', - 'PowerPoint-Schlachten', - 'Outsourcing an Billig-Anbieter', - 'Wartungsverträge mit versteckten Kosten' + "Endlose Workshops ohne Ergebnis", + "PowerPoint-Schlachten", + "Outsourcing an Billig-Anbieter", + "Wartungsverträge mit versteckten Kosten", ].map((item, i) => ( -
    • +
    • - {item} + + {item} +
    • ))}
    @@ -127,17 +154,15 @@ export default function LandingPage() {
{/* Section 03: The Difference */} -
+
- Ich arbeite nicht gegen die Zeit, sondern für das Ergebnis. Mein Fokus liegt auf der Umsetzung, nicht auf der Verwaltung von Prozessen. + Ich arbeite nicht gegen die Zeit, sondern{" "} + für das Ergebnis. Mein + Fokus liegt auf der Umsetzung, nicht auf der Verwaltung von + Prozessen. @@ -168,11 +193,7 @@ export default function LandingPage() {
{/* Section 04: Target Group */} -
+
@@ -180,13 +201,19 @@ export default function LandingPage() {
-

Unternehmer &
Geschäftsführer

+

+ Unternehmer &
+ Geschäftsführer +

- "Ich brauche eine Lösung, die funktioniert. Ich habe keine Zeit für technische Details." + "Ich brauche eine Lösung, die funktioniert. Ich habe keine + Zeit für technische Details."
- +
@@ -196,13 +223,19 @@ export default function LandingPage() {
-

Marketing &
Vertrieb

+

+ Marketing &
+ Vertrieb +

- "Wir brauchen Landingpages und Tools, um unsere Ziele zu erreichen. Schnell und zuverlässig." + "Wir brauchen Landingpages und Tools, um unsere Ziele zu + erreichen. Schnell und zuverlässig."
- +
@@ -210,12 +243,7 @@ export default function LandingPage() {
{/* Section 05: Services */} -
+
@@ -225,10 +253,14 @@ export default function LandingPage() {

Websites

- High-Performance Websites. Maßgeschneiderte Architektur statt Baukasten. + High-Performance Websites. Maßgeschneiderte Architektur statt + Baukasten.
@@ -237,14 +269,19 @@ export default function LandingPage() { - +

Systeme

- Web-Applikationen, Portale, interne Tools. Wenn Standard an Grenzen stößt. + Web-Applikationen, Portale, interne Tools. Wenn Standard an + Grenzen stößt.
@@ -258,7 +295,8 @@ export default function LandingPage() {

Automatisierung

- Verbindung von Tools, automatische Prozesse, Daten-Synchronisation. + Verbindung von Tools, automatische Prozesse, + Daten-Synchronisation.
@@ -267,11 +305,7 @@ export default function LandingPage() {
{/* Section 06: Contact */} -
+
@@ -283,7 +317,8 @@ export default function LandingPage() {
- Schreiben Sie mir kurz, worum es geht. Ich melde mich innerhalb von 24 Stunden. + Schreiben Sie mir kurz, worum es geht. Ich melde mich{" "} + zeitnah bei Ihnen. - Aktuell nehme ich Projekte für Q2 2026 an. + Aktuell nehme ich Projekte für{" "} + Q2 2026{" "} + an.
diff --git a/apps/web/public/marc-mintel.png b/apps/web/public/marc-mintel.png new file mode 100755 index 0000000..a85c2e4 Binary files /dev/null and b/apps/web/public/marc-mintel.png differ diff --git a/apps/web/src/components/ContactForm.tsx b/apps/web/src/components/ContactForm.tsx index d7ba925..db2d088 100644 --- a/apps/web/src/components/ContactForm.tsx +++ b/apps/web/src/components/ContactForm.tsx @@ -537,8 +537,8 @@ export function ContactForm({ Anfrage gesendet!

- Vielen Dank, {state.name.split(" ")[0]}. Ich melde mich innerhalb - von 24 Stunden bei Ihnen. + Vielen Dank, {state.name.split(" ")[0]}. Ich melde mich zeitnah bei + Ihnen.