managarten/apps-archived/uload/docs/reports/landing-page-strategie.md
Till-JS ee42b6cc76 feat: major update with network graphs, themes, todo extensions, and more
## New Features

### Network Graph Visualization (Contacts, Calendar, Todo)
- D3.js force simulation for physics-based layout
- Zoom & pan with mouse/touchpad
- Keyboard shortcuts: +/- zoom, 0 reset, Esc deselect, / search, F focus
- Filtering by tags, company/location/project, connection strength
- Shared components in @manacore/shared-ui

### Central Tags API (mana-core-auth)
- CRUD endpoints for tags
- Schema: tags table with userId, name, color, app
- Shared tag components in @manacore/shared-ui

### Custom Themes System
- Theme editor with live preview and color picker
- Community theme gallery
- Theme sharing (public, unlisted, private)
- Backend API in mana-core-auth

### Todo App Extensions
- Glass-pill design for task input and items
- Settings page with 20+ preferences
- Task edit modal with inline editing
- Statistics page with visualizations
- PWA support with offline capabilities
- Multiple kanban boards

### Contacts App Features
- Duplicate detection
- Photo upload
- Batch operations
- Enhanced favorites page with multiple view modes
- Alphabet view improvements
- Search modal

### Help System
- @manacore/shared-help-content
- @manacore/shared-help-ui
- @manacore/shared-help-types

### Other Features
- Themes page for all apps
- Referral system frontend
- CommandBar (global search)
- Skeleton loaders
- Settings page improvements

## Bug Fixes
- Network graph simulation initialization
- Database schema TEXT for user_id columns (Better Auth compatibility)
- Various styling fixes

## Documentation
- Daily report for 2025-12-10
- CI/CD deployment guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 02:37:46 +01:00

6.8 KiB

Landing Page Strategie - uLoad

Übersicht

Dieses Dokument analysiert die optimale Strategie für die Implementierung einer Landing Page für uLoad (ulo.ad). Es werden zwei Hauptansätze verglichen: eine separate Astro.js Landing Page versus eine integrierte SvelteKit-Lösung.

Aktuelle Situation

Projekt-Analyse

  • Framework: SvelteKit 2.22 mit Svelte 5.0
  • Backend: PocketBase (eingebettet)
  • Styling: Tailwind CSS 4.0
  • Deployment: Docker + Coolify auf Hetzner VPS
  • Hauptfunktionen:
    • URL-Verkürzung mit QR-Code-Generierung
    • Benutzer-Dashboard mit Analytics
    • Öffentliche Profile (ulo.ad/p/username)
    • Mehrsprachigkeit (Paraglide.js)

Aktuelle Struktur

Die Anwendung ist derzeit eine vollständige SaaS-Lösung mit:

  • Homepage (/) - Einfaches URL-Verkürzungstool
  • Dashboard (/dashboard) - Verwaltung für registrierte Benutzer
  • Öffentliche Profile (/p/[username])
  • Authentifizierung (Login/Register)

Ansatz 1: Separate Astro.js Landing Page

Vorteile

  1. Performance

    • Statische HTML-Generierung = extrem schnelle Ladezeiten
    • Perfekte Lighthouse Scores möglich
    • Minimal JavaScript im Browser
    • CDN-optimiert
  2. SEO-Optimierung

    • Vollständig statischer Content
    • Perfekte Meta-Tags und strukturierte Daten
    • Schnellere Indexierung durch Suchmaschinen
    • Bessere Core Web Vitals
  3. Entwicklung

    • Klare Trennung zwischen Marketing und Produkt
    • Unabhängige Deployment-Zyklen
    • Marketing-Team kann ohne Backend-Kenntnisse arbeiten
    • A/B Testing einfacher implementierbar
  4. Skalierbarkeit

    • Landing Page kann auf separatem CDN laufen
    • Keine Belastung der App-Server
    • Unterschiedliche Skalierungsstrategien möglich

Nachteile

  1. Komplexität

    • Zwei separate Codebases zu verwalten
    • Doppelte Dependencies und Updates
    • Zwei Build-Pipelines nötig
    • Zwei Deployment-Prozesse
  2. Konsistenz

    • Design-System muss synchron gehalten werden
    • Komponenten-Duplikation möglich
    • Brand-Konsistenz schwieriger
  3. User Experience

    • Harter Übergang zwischen Landing Page und App
    • Mögliche Layout-Shifts beim Wechsel
    • Verschiedene Loading-States
  4. Wartung

    • Höherer Wartungsaufwand
    • Zwei verschiedene Tech-Stacks
    • Mehr Testing-Aufwand

Ansatz 2: Integrierte SvelteKit-Lösung

Vorteile

  1. Einheitlichkeit

    • Eine Codebase für alles
    • Konsistentes Design-System
    • Gemeinsame Komponenten-Bibliothek
    • Einheitliche User Experience
  2. Entwicklungseffizienz

    • Weniger Duplikation
    • Ein Build-Prozess
    • Gemeinsame Testing-Infrastruktur
    • Einfachere lokale Entwicklung
  3. Feature-Integration

    • Nahtlose Integration von App-Features
    • Live-Demos direkt in der Landing Page
    • Dynamische Inhalte möglich (z.B. Live-Statistiken)
    • Progressives Enhancement
  4. Wartbarkeit

    • Ein Tech-Stack zu pflegen
    • Zentrale Dependency-Verwaltung
    • Einheitliche CI/CD Pipeline

Nachteile

  1. Performance

    • Größeres JavaScript-Bundle
    • Langsamere initiale Ladezeit
    • Komplexere Hydration
    • Schwieriger zu optimieren
  2. Skalierung

    • Landing Page und App teilen sich Ressourcen
    • Schwieriger unterschiedlich zu skalieren
    • Potenzielle Performance-Einbußen bei hohem Traffic
  3. Flexibilität

    • Marketing-Änderungen betreffen gesamte App
    • Deployment der Landing Page erfordert App-Deployment
    • Weniger Freiheit für Marketing-Experimente

Hybride Lösung (Empfehlung)

Konzept

Optimierte Landing Page innerhalb von SvelteKit mit speziellen Optimierungen:

  1. Struktur

    src/routes/
    ├── (app)/          # Hauptanwendung
    │   ├── dashboard/
    │   ├── login/
    │   └── ...
    ├── (landing)/      # Landing Page Bereich
    │   ├── +page.svelte
    │   ├── pricing/
    │   ├── features/
    │   └── about/
    └── (public)/       # Öffentliche Profile
        └── p/
    
  2. Optimierungen

    • Separates Layout für Landing Pages
    • Minimales JavaScript für Landing-Bereich
    • Prerendering für statische Seiten
    • Lazy Loading für App-Features
    • Edge-Caching für Landing Pages
  3. Implementierung

    • SvelteKit's +page.server.ts für SSR
    • export const prerender = true für statische Seiten
    • Separate Tailwind-Konfiguration für Landing
    • Component-Level Code Splitting

Vorteile dieser Lösung

  • Best of Both Worlds: Performance von statischen Seiten + Einheitlichkeit von SvelteKit
  • Schrittweise Migration: Kann später zu Astro migriert werden
  • Kosten-Nutzen: Maximaler Nutzen bei minimalem Aufwand
  • Flexibilität: Kann je nach Wachstum angepasst werden

Empfehlung

Kurzfristig (3-6 Monate)

Hybride SvelteKit-Lösung implementieren:

  • Landing Page als optimierte Route in SvelteKit
  • Prerendering für SEO-kritische Seiten
  • Fokus auf Performance-Optimierung
  • Gemeinsame Komponenten-Bibliothek

Mittelfristig (6-12 Monate)

Bei Bedarf evaluieren:

  • Traffic-Analyse der Landing Page
  • Performance-Metriken überprüfen
  • Marketing-Anforderungen bewerten

Langfristig (12+ Monate)

Bei hohem Traffic oder speziellen Marketing-Anforderungen:

  • Migration zu separater Astro.js Landing Page
  • Microservice-Architektur implementieren
  • CDN-First Strategie

Implementierungsplan

Phase 1: Optimierung (2 Wochen)

  1. Aktuelle Homepage analysieren
  2. Performance-Bottlenecks identifizieren
  3. Prerendering implementieren
  4. Code-Splitting optimieren

Phase 2: Landing Page Entwicklung (4 Wochen)

  1. Design erstellen
  2. Hero Section implementieren
  3. Features Section
  4. Pricing/CTA Sections
  5. SEO-Optimierung

Phase 3: Testing & Launch (2 Wochen)

  1. A/B Testing Setup
  2. Performance Testing
  3. SEO Audit
  4. Launch

Metriken für Erfolg

Performance

  • Lighthouse Score > 95
  • First Contentful Paint < 1.0s
  • Time to Interactive < 2.5s
  • Cumulative Layout Shift < 0.1

Business

  • Conversion Rate Landing → Sign Up
  • Bounce Rate < 40%
  • Average Session Duration > 2 Min
  • SEO Rankings für Ziel-Keywords

Fazit

Für uLoad empfehle ich die hybride SvelteKit-Lösung als optimalen Startpunkt. Dies bietet:

  1. Schnelle Implementierung ohne große Architektur-Änderungen
  2. Konsistente User Experience über die gesamte Plattform
  3. Flexibilität für zukünftige Skalierung
  4. Kosteneffizienz durch eine Codebase
  5. Möglichkeit zur Migration wenn das Wachstum es erfordert

Die separate Astro.js Landing Page sollte als Option für die Zukunft behalten werden, wenn:

  • Der Traffic signifikant steigt (>100k Besucher/Monat)
  • Marketing-Team dedizierte Ressourcen benötigt
  • Performance-Probleme mit der aktuellen Lösung auftreten
  • Internationale Expansion andere Anforderungen stellt

Erstellt am: Januar 2025 Autor: Claude Code Assistant Projekt: uLoad (ulo.ad)