Skip to content

xynap.me — Personal Space Vision

Status: Concept (v1.0) | Created: 2026-03-11 Domain: xynap.me | Build: Genesis Framework


Vision

xynap.me is a personal digital space with blog character that organically forms a community through link-based sharing. Not a social network — a Personal Network.

Motto

Your space. Your data. Your connections.


Domain Strategy

The four xynap domains form a coherent ecosystem:

Domain Motto Target group
xynap.tech "What we can do" B2B, partners, technology showcase
xynap.cloud "Where customers work" SaaS, business, multi-tenant
xynap.me "My digital space" B2C, personal, private space
xynap.world "Discover the world" B2C, public community, discovery

Hierarchy: .me → .world

xynap.me                          xynap.world
┌──────────────────┐              ┌──────────────────────────┐
│  PRIVATE         │              │  PUBLIC                  │
│  My Space        │   ──────►   │  The World               │
│  My Blog         │   public    │  All public posts         │
│  My Files        │   content   │  Topic hubs              │
│  My Links        │   flows     │  Trending (curated)      │
│                  │    into     │  Regional communities    │
│  max.xynap.me   │              │  Events & groups         │
└──────────────────┘              └──────────────────────────┘
     Basis (every user)               Aggregation (opt-in)

xynap.me = You write, share, control — everything private by default. xynap.world = If you choose, make content public → appears on xynap.world.

No obligation to go public. xynap.me works completely without xynap.world.


Differentiation

Platform Problem xynap.me Solution
Facebook Algorithm, ads, data abuse No algorithm, no ads, own data
Medium Platform owns content, paywall You own your content, no vendor lock-in
WordPress Isolated, no social layer Federated networking between spaces
Tumblr Outdated, chaotic Modern UX, structured content
Mastodon Technical, fragmented Simple like Instagram, open like Mastodon

Core Concepts

1. Everything private by default

Every piece of content is private until the owner shares it. Three visibility levels:

Level Meaning
Private Only you can see it
Via Link Anyone with the link can see it
Public Anyone can find and read it
Create content → Click "Share" → Generate link → Send
                          Options:
                          - Expiry date (24h, 7d, 30d, unlimited)
                          - Password protection
                          - Access limit (max N views)
                          - Permission (read / edit)

Delivery: Copy-paste, email, QR code, direct message. No account needed to view — only required to share/comment.

3. Connections (not followers)

Max shares album with Lisa (via link)
  → Lisa sees album
  → Lisa has xynap.me account → "Suggest connection"
  → Max confirms → Mutual connection
  → Both see each other's updates in feed
  • No one-way following — connections are always mutual
  • No follower count — quality over quantity
  • Connection types: Friend, family, colleague, acquaintance

4. Blog & Posts

Every space is simultaneously a blog:

Element Description
Post Text + images + files, Markdown editor, tags
Collection Grouped posts (recipes, travels, projects)
Page Static page (about me, contact, imprint)
Gallery Photo/video album
File Individual file for download

Editor: Rich-text (Tiptap/ProseMirror), Markdown mode, drag & drop for media.

5. Community through networking

Individual space
  ↓ Share via link
Connection between two spaces
  ↓ Comments, reactions
Small community
  ↓ Topic tags, explore page
Organically growing community

Comments are federated: When Lisa comments on Max's post, the comment appears for BOTH.

No central timeline — everyone only sees updates from their connections, sorted chronologically.

6. Reactions (minimal)

Reaction Meaning
Heart Like
Comment Reply
Link Shared/Linked
Pin Saved/Bookmarked

No emoji flood, no angry reacts — intentionally reduced.


URL Schema

xynap.me                        → Landing page + registration
xynap.me/explore                → Discover public spaces
max.xynap.me                    → Max's personal space (homepage/profile)
max.xynap.me/japan-trip          → A blog post
max.xynap.me/recipes             → A collection
max.xynap.me/s/abc123           → Shared content (link-based)
max.xynap.me/calendar            → Personal calendar
max.xynap.me/files               → Personal cloud storage

Technical Architecture

Base: Extend xynap Platform

xynap.me builds on the existing platform infrastructure:

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

Backend Modules (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 generation, expiry logic
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

Data Model (Core Tables)

Table Purpose
spaces Personal areas (slug → subdomain)
posts Posts with Markdown, visibility, tags
collections Grouped posts
post_media Images, videos, files
connections Mutual connections
comments Federated comments
reactions Heart, bookmark, share
share_links Link-based sharing with token
feed_entries Materialized feed for fast queries

API Endpoints

# Spaces
GET/POST   /api/v1/me/spaces          — Load/create own space
PUT        /api/v1/me/spaces/{id}     — Edit space
GET        /api/v1/me/spaces/{slug}   — Load public space

# Posts
GET/POST   /api/v1/me/posts           — Posts CRUD
GET/PUT/DEL /api/v1/me/posts/{slug}   — Single post

# Feed + Social
GET        /api/v1/me/feed            — Personal feed (paginated)
GET/POST   /api/v1/me/connections     — Connections
POST       /api/v1/me/posts/{id}/reactions  — Reactions
GET/POST   /api/v1/me/posts/{id}/comments  — Comments

# Sharing
POST       /api/v1/me/share           — Create share link
GET        /api/v1/me/share/{token}   — Load shared content

# Explore + Media
GET        /api/v1/me/explore         — Public spaces/posts
POST       /api/v1/me/media/upload    — Upload file

Milestones

Phase 1: Foundation (Space + Blog)

Milestone Content
M1: Space Scaffolding Space Model + CRUD API, SpaceView, subdomain routing, DNS wildcard + cert, auth
M2: Blog System Post Model + Markdown rendering, PostEditor (Tiptap), collections, media upload, visibility levels
M3: Share Links ShareLink Model + token, ShareDialog, password protection, expiry, public SharedView

Phase 2: Community

Milestone Content
M4: Connections Connection Model, ConnectionsView, connection types
M5: Feed + Interaction Feed aggregation, reactions, comments, push notifications
M6: Explore + Discovery Public search, tag system, SEO (SSR)

Phase 3: Integration

Milestone Content
M7: Cloud Integration Files tab (WebDAV), calendar tab (CalDAV), contacts (CardDAV)
M8: Federation ActivityPub, WebFinger, Mastodon compatible, RSS feed per space

Existing Infrastructure (reuse)

Component Use for xynap.me
Auth (JWT + 2FA) Login, session
File Storage (WebDAV) Files tab, media upload
CalDAV / CardDAV Calendar tab, contacts
Mail (Postfix/Dovecot) Notifications, invitations
Event Bus Push notifications
Comm Hub Chat/messages between spaces
RBAC + Scoping Permissions, multi-tenancy
i18n (de + en) Multilingual UI
CrowdSec + Traefik DDoS protection, rate limiting

GDPR & Security

Privacy by Design

All data belongs to the user. No tracking, no analytics, no external CDNs.

Principle Implementation
Data minimization Only necessary data: name, email, content
Data portability Full export as ZIP (posts, media, comments)
Right to deletion Delete space = ALL data irrevocably deleted
No external dependencies All assets local, no Google Fonts, no CDN
Legal notice requirement Public spaces → imprint + privacy policy mandatory
Security measure Details
Content sanitization Server-side DOMPurify, no raw HTML
Rate limiting Posts: 10/h, comments: 50/h, uploads: 100MB/h
Spam protection 24h cooldown for new accounts, reporting system
Share link tokens 32 characters, cryptographically random
Audit trail All relevant actions logged

Design Principles

  1. Simplicity — If grandma doesn't understand it, it's too complex
  2. Privacy — Everything private by default, share consciously
  3. No metrics — No follower count, no public like numbers
  4. Chronological — No algorithm, newest first
  5. Federated — No walled garden, ActivityPub compatible
  6. Data sovereignty — Export anytime, deletion complete
  7. No vendor lock-in — Open standards (RSS, ActivityPub, WebDAV)