Wochenrückblick KW 12/2026 — Von PLZ-Datenbanken bis Cloudflare Pages
Was sich in der Woche vom 10.–16. März 2026 in meinen Projekten getan hat: Prämienfuchs bekommt Google OAuth und einen Versicherungsberater, maus.kids geht in die Pre-Launch-Phase, eigernest.com zieht auf Cloudflare Pages um, und mehr.
Wochenrückblick KW 12 — 10.–16. März 2026
Eine Woche mit grossen Fortschritten auf fast allen Projekten. Hier die Zusammenfassung.
Prämienfuchs — Google Login, Versicherungsberater und PLZ-Datenbank
Die grösste Baustelle diese Woche. Drei Dinge, die sich grundlegend verändert haben:
Google OAuth statt nur E-Mail-Login
Nutzer können sich jetzt per Google-Konto anmelden. Dafür brauchte es eine neue DB-Migration (googleId + authProvider), einen Token-Exchange-Endpoint und die Login-/Register-Buttons auf beiden Seiten. Problem dabei: Die Register-Seite nutzte /register als redirect_uri, was nicht in der Google Console registriert war. Lösung: Beide Seiten leiten jetzt über /login um — die API erkennt automatisch, ob ein Konto existiert oder neu angelegt werden muss.
PLZ-Datenbank mit Autocomplete
Der hardcodierte PLZ-Mapper wurde durch eine echte Datenbank mit rund 2’000 Schweizer Postleitzahlen ersetzt. Zwei neue API-Endpoints (/postal-codes/search und /postal-codes/lookup) liefern PLZ-Suche nach Nummer oder Ortsnamen. Die neue PlzAutocomplete-Komponente hat Debounce und Keyboard-Navigation. Warum? Weil der alte Mapper bei unbekannten PLZ einfach nichts zurückgab — jetzt gibt es einen DB-Fallback, der benachbarte PLZ probiert.
Unified Vergleichsseite
Die Vergleichsseite wurde komplett umgebaut: horizontale Step-Navigation (Modell → Franchise → Ergebnisse) statt vertikalem Scrollen. Radar-Chart und Vergleichsmatrix wurden entfernt — nur die Modellkarten bleiben. Alle Cards sind jetzt gleich hoch, Ersparnisse werden grün hervorgehoben. Ausserdem: 301-Redirects von /beratung auf /vergleich, damit alte Links nicht ins Leere führen.
Auto-Import der BAG-Prämien
Nach Deployments war die Prämien-Tabelle leer, weil der Import nie automatisch lief. Jetzt prüft der Docker-Entrypoint nach den Migrationen, ob Daten vorhanden sind, und startet den BAG-Import bei Bedarf.
maus.kids — Pre-Launch-Hardening und Design-System
Die intensivste Woche für maus.kids. Das Projekt bewegt sich Richtung Launch.
Neo-Brutalism Design-System
Kompletter Design-Wechsel: von Claymorphism zu Neo-Brutalism. Das heisst: 2.5px dicke Borders, harte Offset-Shadows (kein Blur), Spring-Bounce-Animationen bei Hover und Press — über rund 60 Komponenten hinweg. Neue Utility-Klassen (brutal-card, brutal-btn, brutal-pill, brutal-nav). Animierte Hintergrund-Bubbles sorgen für ein kindgerechtes, verspieltes Gefühl.
Mobile UX Overhaul
Eine komplett neue Bottom-Navigation für alle öffentlichen Seiten (Start, Suche, Ratgeber, Anmelden) — wie eine native App. Die Bubbles/Orbs werden auf Mobile ausgeblendet, die Navbar-Höhe von 96px auf 64px reduziert. Dazu: horizontales Scrolling für Markdown-Tabellen auf Mobile, bessere Touch-Targets im Dashboard.
Hero-Redesign und Über-uns-Seite
Neuer Hero-Bereich mit dem Kinderkreis-Bild, PLZ-Suche direkt im Hero integriert. Die CTA-Labels wurden auf «Betreuung suchen» und «Angebot registrieren» geändert. Eine neue Über-uns-Seite erzählt Sophias Geschichte mit Timeline und Werte-Grid. Ein neues Burger-Menü auf Mobile ersetzt den Footer.
Pricing und Provider-Seiten
Zwei-Tier-Preismodell: Starter (gratis) und Premium (CHF 29.–/Monat). Dazu ein Jahres-Toggle: CHF 290.–/Jahr spart 2 Monate. Die Für-Anbieter-Seite wurde überarbeitet — CTA-Card erscheint auf Mobile oben, weniger «kostenlos»-Überladung im Text.
Pre-Launch-Security und Infrastruktur
E2E-Tests als Gate zwischen Staging und Production. Google-Login verhindert jetzt Auto-Account-Erstellung — unbekannte Nutzer werden zum Register-Tab weitergeleitet. Staging-Server mit Basic Auth, Caddy-Konfiguration und E2E-Pipeline sind stabil. 159 übersetzte Ratgeber-Artikel (EN/FR/IT) wurden importiert. Dependabot-Config für npm, GitHub Actions und Docker ist eingerichtet.
eigernest.com — Von Null auf Live in einer Woche
Dieses Projekt ist komplett neu. Eine Ferienwohnungs-Website für eine 2-Zimmer-Wohnung an der Grabenstrasse 8 in Grindelwald.
Komplette Website mit 8 Seiten
Homepage mit Live-Wetter-Widget, Apartment-Detailseite mit Leaflet-Karte, saisonaler Explorer (Winter/Sommer), FAQ mit 20 Fragen und FAQPage-Schema, Dorfführer, Aktivitäten-Seite, und Legal-Pages. Alles mit echten Daten — keine Platzhalter.
Viersprachig von Anfang an
Deutsch, Englisch, Französisch und Koreanisch — 16 Seiten total (4 Sprachen × 4 Seiten). Ein Language-Switcher mit Flaggen-Icons und ein Dark/Light-Mode-Toggle runden das UX ab.
Design-Iterationen
Drei grosse Design-Durchgänge: Erst ein Luxus-Look (Gold/Navy/Teal), dann ein natürliches Mountain-Lodge-Farbschema (Forest Green, Alpine Meadow, Warm Copper), schliesslich echte Grindelwald-Fotos im Hero mit dunklem Overlay. Space Grotesk als moderne Heading-Font.
Umzug auf Cloudflare Pages
Die Deploy-Pipeline wurde von SSH/Docker auf Cloudflare Pages umgestellt. Astro rendert jetzt statisch (statt SSR) für minimale Latenz weltweit. Redirects laufen über Cloudflares _redirects-Datei.
cyberversicherung.ch — i18n-Komplettierung und News-Content
Fehlende Sprachversionen ergänzt
FAQ-Seiten für EN, FR und IT (je 25 Fragen, 10 Themenabschnitte), Kontaktseiten für FR und IT, und Cyber-Risk-Check-Seiten für alle Sprachen wurden hinzugefügt. Alle hardcodierten deutschen Pfade in den Shared-Komponenten (Header, Footer, ContentHub, CTASection, etc.) wurden auf locale-aware Routing umgestellt.
Homepages sprachlich angeglichen
Die EN/FR/IT-Homepages enthalten jetzt dieselben 10 Sektionen wie die deutsche Version: Hero, Social Proof, ThreatTicker, RiskCards, ContentHub, Testimonials, IndustryRisk, CaseStudyShowcase, FAQ, SoftCTA. Der ThreatTicker war vorher hardcoded auf Deutsch — jetzt laufen alle 4 Sprachen.
6 aktuelle News-Artikel
Sechs neue Schweizer Cybersecurity-News-Artikel wurden publiziert — darunter die E-Voting-Panne Basel-Stadt, ETH-Sicherheitslücken in Passwort-Managern und die Interpol-Operation Synergia III.
Deploy-Pipeline repariert
Der Deploy ging an das falsche Verzeichnis (dist statt dist-static). Ausserdem: SSH-Key-Handling verbessert und .gitignore korrigiert (das root /data/-Verzeichnis ignorieren, nicht src/data/*.ts).
resortpass-europapark.ch — UI-Redesign
Neo-Brutalist Redesign
Komplett neues Design im Neo-Brutalist-Stil: warmer Cream-Hintergrund, dicke dunkle Borders mit Box-Shadow-Offsets, Space Grotesk als Heading-Font. Alle 4 Sprachversionen konsistent aktualisiert.
Farbpalette und UX
Orange/Rot-Töne entfernt, jetzt Blue/White/Gold-Palette mit weichen Hintergrund-Blobs. Die Blobs haben eine Float-Animation bekommen (unterschiedliche Geschwindigkeiten und Richtungen). Der Sticky-CTA-Button erscheint nur noch, wenn sowohl der Hero-CTA als auch das Subscribe-Formular nicht sichtbar sind.
Fazit
Eine Woche, in der eigernest.com von Null auf Launch gegangen ist, Prämienfuchs deutlich funktionsreicher geworden ist und maus.kids grosse Schritte Richtung Pre-Launch gemacht hat. cyberversicherung.ch ist jetzt vollständig viersprachig, und resortpass-europapark.ch hat ein frisches Design bekommen. Nächste Woche geht’s weiter — stay tuned.