Zum Inhalt

xynap.me — Personal Space Vision

Status: Konzeption (v1.0) | Erstellt: 2026-03-11 Domain: xynap.me | Bau: Genesis Framework


Vision

xynap.me ist ein persoenlicher digitaler Raum mit Blog-Charakter, der durch Link-basiertes Sharing organisch eine Gemeinschaft bildet. Kein Social Network — ein Personal Network.

Leitsatz

Dein Raum. Deine Daten. Deine Verbindungen.


Domain-Strategie

Die vier xynap-Domains bilden zusammen ein kohaerentes Oekosystem:

Domain Motto Zielgruppe
xynap.tech "Was wir koennen" B2B, Partner, Technologie-Showcase
xynap.cloud "Wo Kunden arbeiten" SaaS, Business, Multi-Tenant
xynap.me "Mein digitaler Raum" B2C, persoenlich, privater Space
xynap.world "Die Welt entdecken" B2C, oeffentliche Community, Discovery

Hierarchie: .me → .world

xynap.me                          xynap.world
┌──────────────────┐              ┌──────────────────────────┐
│  PRIVAT          │              │  OEFFENTLICH             │
│  Mein Raum       │   ──────►   │  Die Welt                │
│  Mein Blog       │  oeffentl.  │  Alle oeffentlichen Posts │
│  Meine Dateien   │  Inhalte    │  Themen-Hubs             │
│  Meine Links     │  fliessen   │  Trending (kuratiert)    │
│                  │    in       │  Regionale Communities   │
│  max.xynap.me   │              │  Events & Gruppen        │
└──────────────────┘              └──────────────────────────┘
     Basis (jeder User)               Aggregation (opt-in)

xynap.me = Du schreibst, teilst, kontrollierst — alles privat by default. xynap.world = Wer will, macht Inhalte oeffentlich → erscheinen auf xynap.world.

Kein Zwang zur Oeffentlichkeit. xynap.me funktioniert komplett ohne xynap.world.


Abgrenzung

Plattform Problem xynap.me Loesung
Facebook Algorithmus, Werbung, Datenmissbrauch Kein Algorithmus, keine Werbung, eigene Daten
Medium Plattform besitzt Content, Paywall Du besitzt deinen Content, kein Vendor Lock-in
WordPress Isoliert, kein sozialer Layer Foederierte Vernetzung zwischen Spaces
Tumblr Veraltet, chaotisch Moderne UX, strukturierte Inhalte
Mastodon Technisch, fragmentiert Einfach wie Instagram, offen wie Mastodon

Kernkonzepte

1. Alles privat by default

Jeder Inhalt ist privat, bis der Besitzer ihn teilt. Drei Sichtbarkeitsstufen:

Stufe Bedeutung
Privat Nur du siehst es
Per Link Wer den Link hat, kann sehen
Oeffentlich Jeder kann es finden und lesen
Inhalt erstellen → "Teilen" klicken → Link generieren → Versenden
                              Optionen:
                              - Ablaufdatum (24h, 7d, 30d, unbegrenzt)
                              - Passwortschutz
                              - Zugriffslimit (max. N Aufrufe)
                              - Berechtigung (lesen / bearbeiten)

Versandwege: Copy-Paste, E-Mail, QR-Code, Direktnachricht. Kein Account noetig zum Ansehen — erst wenn man selbst teilen/kommentieren will.

3. Verbindungen (statt Follower)

Max teilt Album mit Lisa (per Link)
  → Lisa sieht Album
  → Lisa hat xynap.me Account → "Verbindung vorschlagen"
  → Max bestaetigt → Gegenseitige Verbindung
  → Beide sehen Updates des anderen im Feed
  • Kein einseitiges Folgen — Verbindungen sind immer gegenseitig
  • Kein Follower-Zaehler — Qualitaet vor Quantitaet
  • Verbindungstypen: Freund, Familie, Kollege, Bekannter

4. Blog & Beitraege

Jeder Space ist gleichzeitig ein Blog:

Element Beschreibung
Beitrag Text + Bilder + Dateien, Markdown-Editor, Tags
Sammlung Gruppierte Beitraege (Rezepte, Reisen, Projekte)
Seite Statische Seite (Ueber mich, Kontakt, Impressum)
Galerie Foto-/Video-Album
Datei Einzelne Datei zum Download

Editor: Rich-Text (Tiptap/ProseMirror), Markdown-Modus, Drag&Drop fuer Medien.

5. Community durch Vernetzung

Einzelner Space
  ↓ Teilen per Link
Verbindung zwischen zwei Spaces
  ↓ Kommentare, Reaktionen
Kleine Gemeinschaft
  ↓ Themen-Tags, Explore-Seite
Organisch wachsende Community

Kommentare sind foederiert: Wenn Lisa auf Max' Beitrag kommentiert, erscheint der Kommentar bei BEIDEN.

Keine zentrale Timeline — jeder sieht nur Updates seiner Verbindungen, chronologisch sortiert.

6. Reaktionen (minimal)

Reaktion Bedeutung
Herz Gefaellt mir
Kommentar Antwort
Link Geteilt/Verlinkt
Pin Gespeichert/Gemerkt

Keine Emoji-Flut, keine Angry-Reacts — bewusst reduziert.


URL-Schema

xynap.me                        → Landing Page + Registrierung
xynap.me/explore                → Oeffentliche Spaces entdecken
max.xynap.me                    → Max' persoenlicher Space (Startseite/Profil)
max.xynap.me/japan-reise        → Ein Blogbeitrag
max.xynap.me/rezepte            → Eine Sammlung
max.xynap.me/s/abc123           → Geteilter Inhalt (Link-basiert)
max.xynap.me/kalender           → Persoenlicher Kalender
max.xynap.me/dateien            → Persoenlicher Cloud-Speicher

Technische Architektur

Basis: xynap Platform erweitern

xynap.me baut auf der bestehenden Platform-Infrastruktur auf:

┌─────────────────────────────────────────────┐
│                 xynap.me                     │
│         (Vue 3 SPA + eigene API)            │
├─────────────────────────────────────────────┤
│              Platform API (FastAPI)          │
│  ┌─────────┐ ┌──────────┐ ┌──────────────┐ │
│  │ Spaces  │ │ Posts    │ │ Connections  │ │
│  │ Module  │ │ Module   │ │ Module       │ │
│  └─────────┘ └──────────┘ └──────────────┘ │
│  ┌─────────┐ ┌──────────┐ ┌──────────────┐ │
│  │ Sharing │ │ Comments │ │ ActivityPub  │ │
│  │ Module  │ │ Module   │ │ Federation   │ │
│  └─────────┘ └──────────┘ └──────────────┘ │
├─────────────────────────────────────────────┤
│          Bestehende Infrastruktur            │
│  Auth │ Files │ CalDAV │ CardDAV │ Mail    │
└─────────────────────────────────────────────┘

Backend-Module (FastAPI)

app/core/spaces/     — Space, SpaceMember, SpaceSettings
app/core/posts/      — Post, PostMedia, PostTag, Collection, Markdown-Rendering
app/core/social/     — Connection, Reaction, Comment, Feed-Aggregation
app/core/sharing/    — ShareLink, Token-Generierung, Ablauf-Logik
app/core/federation/ — ActivityPub, WebFinger (Phase 2+)

Frontend (Vue 3 SPA)

/usr/local/xynap/me/frontend/src/
├── views/           — Landing, Explore, Feed, Space, Post, Editor, Gallery, Settings
├── components/      — space/, post/, social/, sharing/, layout/
├── composables/     — useSpace, useFeed, useEditor, useSharing, useConnections
├── stores/          — space, feed, me (Pinia)
└── i18n/            — de.json, en.json

Datenmodell (Kern-Tabellen)

Tabelle Zweck
spaces Persoenliche Bereiche (slug → Subdomain)
posts Beitraege mit Markdown, Sichtbarkeit, Tags
collections Gruppierte Beitraege
post_media Bilder, Videos, Dateien
connections Gegenseitige Verbindungen
comments Foederierte Kommentare
reactions Herz, Bookmark, Share
share_links Link-basiertes Teilen mit Token
feed_entries Materialized Feed fuer schnelle Abfragen

API-Endpunkte

# Spaces
GET/POST   /api/v1/me/spaces          — Eigenen Space laden/erstellen
PUT        /api/v1/me/spaces/{id}     — Space bearbeiten
GET        /api/v1/me/spaces/{slug}   — Oeffentlichen Space laden

# Posts
GET/POST   /api/v1/me/posts           — Beitraege CRUD
GET/PUT/DEL /api/v1/me/posts/{slug}   — Einzelner Beitrag

# Feed + Social
GET        /api/v1/me/feed            — Persoenlicher Feed (paginated)
GET/POST   /api/v1/me/connections     — Verbindungen
POST       /api/v1/me/posts/{id}/reactions  — Reaktionen
GET/POST   /api/v1/me/posts/{id}/comments  — Kommentare

# Sharing
POST       /api/v1/me/share           — Share-Link erstellen
GET        /api/v1/me/share/{token}   — Geteilten Inhalt laden

# Explore + Media
GET        /api/v1/me/explore         — Oeffentliche Spaces/Posts
POST       /api/v1/me/media/upload    — Datei hochladen

Milestones

Phase 1: Fundament (Space + Blog)

Milestone Inhalt
M1: Space-Grundgeruest Space Model + CRUD API, SpaceView, Subdomain-Routing, DNS Wildcard + Cert, Auth
M2: Blog-System Post Model + Markdown-Rendering, PostEditor (Tiptap), Sammlungen, Media-Upload, Sichtbarkeitsstufen
M3: Share-Links ShareLink Model + Token, ShareDialog, Passwortschutz, Ablaufdatum, oeffentliche SharedView

Phase 2: Community

Milestone Inhalt
M4: Verbindungen Connection Model, ConnectionsView, Verbindungstypen
M5: Feed + Interaktion Feed-Aggregation, Reaktionen, Kommentare, Push-Notifications
M6: Explore + Discovery Oeffentliche Suche, Tag-System, SEO (SSR)

Phase 3: Integration

Milestone Inhalt
M7: Cloud-Integration Dateien-Tab (WebDAV), Kalender-Tab (CalDAV), Kontakte (CardDAV)
M8: Federation ActivityPub, WebFinger, Mastodon-kompatibel, RSS-Feed pro Space

Bestehende Infrastruktur (wiederverwenden)

Komponente Nutzen fuer xynap.me
Auth (JWT + 2FA) Login, Session
File Storage (WebDAV) Dateien-Tab, Media-Upload
CalDAV / CardDAV Kalender-Tab, Kontakte
Mail (Postfix/Dovecot) Benachrichtigungen, Einladungen
Event-Bus Push-Notifications
Comm-Hub Chat/Nachrichten zwischen Spaces
RBAC + Scoping Berechtigungen, Multi-Tenancy
i18n (de + en) Mehrsprachige UI
CrowdSec + Traefik DDoS-Schutz, Rate Limiting

DSGVO & Sicherheit

Privacy by Design

Alle Daten gehoeren dem Nutzer. Kein Tracking, keine Analytics, keine externen CDNs.

Prinzip Umsetzung
Datensparsamkeit Nur noetige Daten: Name, E-Mail, Inhalte
Datenportabilitaet Vollstaendiger Export als ZIP (Posts, Medien, Kommentare)
Recht auf Loeschung Space loeschen = ALLE Daten unwiderruflich geloescht
Keine externen Abhaengigkeiten Alle Assets lokal, kein Google Fonts, kein CDN
Impressumspflicht Oeffentliche Spaces → Impressum + Datenschutz Pflichtseiten
Sicherheitsmassnahme Details
Content Sanitization Server-side DOMPurify, kein rohes HTML
Rate Limiting Posts: 10/h, Kommentare: 50/h, Uploads: 100MB/h
Spam-Schutz 24h Cooldown fuer neue Accounts, Melde-System
Share-Link Tokens 32 Zeichen, kryptographisch zufaellig
Audit-Trail Alle relevanten Aktionen geloggt

Design-Prinzipien

  1. Einfachheit — Wenn Oma es nicht versteht, ist es zu komplex
  2. Privatsphaere — Alles privat by default, bewusst teilen
  3. Keine Metriken — Kein Follower-Zaehler, keine Likes-Zahl oeffentlich
  4. Chronologisch — Kein Algorithmus, neueste zuerst
  5. Foederiert — Kein Walled Garden, ActivityPub-kompatibel
  6. Datenhoheit — Export jederzeit, Loeschung vollstaendig
  7. Kein Vendor Lock-in — Offene Standards (RSS, ActivityPub, WebDAV)