000%
COMMISSION Nº 08 · 2026 — MOBILITY · QUOTE FUNNEL
LOTTE RENT-A-CAR · WEB

Car Quote — ein Echtzeit-Angebots-Funnel, gebaut für einen einzelnen Vertriebler.

Ein beauftragter Web-Service für einen Langzeitmiet-Vertriebsmanager bei Lotte Rent-a-Car: ein öffentlicher Funnel, der eine Tabelle bestätigter Preise in sofortige, verbindliche Monatsangebote verwandelt, und ein Admin-Backoffice, dem jedes Fahrzeug, jede Preiszelle und jeder Lead gehört. Rund drei Wochen, solo, vom ersten Commit bis zur eigenen Live-Domain — geliefert und abgerechnet.

FIG. 01CAR QUOTE — WEB — LOTTE RENT-A-CAR · WEB
COMMISSIONWEB · ADMIN · SEO/GEO/AEONEXT 16 · NEON · DRIZZLE · VERCEL2026.07

Der Kunde ist der Vertriebler, nicht das Unternehmen: ein Langzeitmiet-Manager, der einen eigenen Lead-Kanal brauchte. Die Domänenregel, die das ganze Produkt prägt: Preise werden nie berechnet — sie werden nachgeschlagen. Jedes Fahrzeug trägt eine Matrix aus zwölf Zellen — drei Laufzeiten, zwei Kilometerpakete, zwei Kautionsstufen — mit bestätigten Monatsraten. Das Angebot, das ein Besucher sieht, ist keine Schätzung, sondern die Zahl, die tatsächlich im Vertrag stehen wird. Besucher wählen ihre Bedingungen aus und sehen den dazugehörigen bestätigten Preis. Darin unterscheidet sich die Website von einer statischen Preistabelle.

Die Anwendung ist in Next.js 16 App Router mit React 19 und TypeScript geschrieben, gestylt mit Tailwind, auf Neon Postgres über Drizzle ORM, deployt auf Vercel, mit Fahrzeugbildern in privatem Blob-Storage. Es gibt kein separates Backend — die API-Routen der App sind das Backend, acht an der Zahl, hinter einem JWT-authentifizierten Admin-Gate.

Das Backoffice bietet Fahrzeug-CRUD mit Bild-Upload und dem Zwölf-Zellen-Preisraster, Beratungs-Lead-Verwaltung und Telemetrie, die der Kunde tatsächlich lesen kann — ein Conversion-Funnel vom erkundeten Angebot bis zur eröffneten Beratung, Konversionsraten je Modell, Anomalie-Erkennung auf Angebotsereignissen und ein Health-Check, der jedes Fahrzeug meldet, dem eine seiner zwölf Preiszellen fehlt. Deploys laufen ausschließlich über ein einziges Skript mit sieben Gates, von Unit-Tests bis zum Smoke-Test nach dem Deploy.

Für die Auffindbarkeit ergänzte ich strukturierte Daten, Sitemap, llms.txt, Share-Cards, ein Favicon, byte-kompatibel neu gebaut für die ICO-Kodierung, die Safari tatsächlich liest, und noch in derselben Nacht die Registrierung in drei Search-Konsolen samt Indexierungsantrag. Als die Zentrale der Marke Bedenken äußerte, die Seite könne mit einer offiziellen verwechselt werden, führte ich Maßnahmen zur Unterscheidung der Betreiber ein — personenzentrierte Benennung, Hinweise zur Abgrenzung, ein struktureller Anker, der die Seite von der offiziellen Domain trennt. Drei Tage später, nach einem weiteren Gespräch mit dem Kunden, rissen wir das alles wieder ein und gingen markenzentriert. Auch die konkurrierende Website stellte die Marke in den Vordergrund, und wir entschieden uns für denselben Ansatz.

Die Serverless-Funktionen und die Datenbank liefen anfangs weit von den Nutzern entfernt; der Umzug beider näher zu den Nutzern senkte die Cold-Starts um gemessene 81 Prozent. Der Datenbank-Umzug förderte einen Fehler im Verbindungspool zutage — ein pg_dump-Artefakt heftete einen leeren search_path an die wiederverwendeten Sessions des Connection-Poolers, sodass Tabellen, die offenkundig existierten, unauffindbar wurden, bis die vergifteten Backends zwangsbeendet waren.

Die Entwicklung dauerte drei Wochen und umfasste vierundneunzig Quelldateien und gut hundert Commits. Ich übergab die Website auf einer eigenen Domain, mit Suchindexierung, Monitoring und einem Betriebshandbuch, das der Kunde selbst nutzt.

— FIN —