## 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>
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
-
Performance
- Statische HTML-Generierung = extrem schnelle Ladezeiten
- Perfekte Lighthouse Scores möglich
- Minimal JavaScript im Browser
- CDN-optimiert
-
SEO-Optimierung
- Vollständig statischer Content
- Perfekte Meta-Tags und strukturierte Daten
- Schnellere Indexierung durch Suchmaschinen
- Bessere Core Web Vitals
-
Entwicklung
- Klare Trennung zwischen Marketing und Produkt
- Unabhängige Deployment-Zyklen
- Marketing-Team kann ohne Backend-Kenntnisse arbeiten
- A/B Testing einfacher implementierbar
-
Skalierbarkeit
- Landing Page kann auf separatem CDN laufen
- Keine Belastung der App-Server
- Unterschiedliche Skalierungsstrategien möglich
Nachteile
-
Komplexität
- Zwei separate Codebases zu verwalten
- Doppelte Dependencies und Updates
- Zwei Build-Pipelines nötig
- Zwei Deployment-Prozesse
-
Konsistenz
- Design-System muss synchron gehalten werden
- Komponenten-Duplikation möglich
- Brand-Konsistenz schwieriger
-
User Experience
- Harter Übergang zwischen Landing Page und App
- Mögliche Layout-Shifts beim Wechsel
- Verschiedene Loading-States
-
Wartung
- Höherer Wartungsaufwand
- Zwei verschiedene Tech-Stacks
- Mehr Testing-Aufwand
Ansatz 2: Integrierte SvelteKit-Lösung
Vorteile
-
Einheitlichkeit
- Eine Codebase für alles
- Konsistentes Design-System
- Gemeinsame Komponenten-Bibliothek
- Einheitliche User Experience
-
Entwicklungseffizienz
- Weniger Duplikation
- Ein Build-Prozess
- Gemeinsame Testing-Infrastruktur
- Einfachere lokale Entwicklung
-
Feature-Integration
- Nahtlose Integration von App-Features
- Live-Demos direkt in der Landing Page
- Dynamische Inhalte möglich (z.B. Live-Statistiken)
- Progressives Enhancement
-
Wartbarkeit
- Ein Tech-Stack zu pflegen
- Zentrale Dependency-Verwaltung
- Einheitliche CI/CD Pipeline
Nachteile
-
Performance
- Größeres JavaScript-Bundle
- Langsamere initiale Ladezeit
- Komplexere Hydration
- Schwieriger zu optimieren
-
Skalierung
- Landing Page und App teilen sich Ressourcen
- Schwieriger unterschiedlich zu skalieren
- Potenzielle Performance-Einbußen bei hohem Traffic
-
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:
-
Struktur
src/routes/ ├── (app)/ # Hauptanwendung │ ├── dashboard/ │ ├── login/ │ └── ... ├── (landing)/ # Landing Page Bereich │ ├── +page.svelte │ ├── pricing/ │ ├── features/ │ └── about/ └── (public)/ # Öffentliche Profile └── p/ -
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
-
Implementierung
- SvelteKit's
+page.server.tsfür SSR export const prerender = truefür statische Seiten- Separate Tailwind-Konfiguration für Landing
- Component-Level Code Splitting
- SvelteKit's
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)
- Aktuelle Homepage analysieren
- Performance-Bottlenecks identifizieren
- Prerendering implementieren
- Code-Splitting optimieren
Phase 2: Landing Page Entwicklung (4 Wochen)
- Design erstellen
- Hero Section implementieren
- Features Section
- Pricing/CTA Sections
- SEO-Optimierung
Phase 3: Testing & Launch (2 Wochen)
- A/B Testing Setup
- Performance Testing
- SEO Audit
- 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:
- Schnelle Implementierung ohne große Architektur-Änderungen
- Konsistente User Experience über die gesamte Plattform
- Flexibilität für zukünftige Skalierung
- Kosteneffizienz durch eine Codebase
- 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)