mana-presence
Live-State + SSE-Fanout — was läuft gerade auf welchem Gerät, bidirektional zwischen Phone und Web.
mana-presence beantwortet eine Live-Frage: „Welche App läuft gerade auf welchem Gerät dieser Person?”. Moodlit nutzt das, um die Stimmung zwischen Phone und Web bidirektional zu spiegeln; Mukke, um „welcher Song läuft jetzt” auf allen Geräten zu zeigen; Memoro, um zu signalisieren „eine Aufnahme läuft gerade auf dem iPhone”.
Was gespeichert wird: (user_id, app_id) → payload als opake JSON-
Struktur, max 16 KB. Server-Sent-Events liefern Updates in Echtzeit an
alle anderen Geräte. Letzter Writer gewinnt — monoton steigende Revision
verhindert Race-Conditions.
Conflict-Resolution ist atomar in Postgres (INSERT ... ON CONFLICT DO UPDATE SET revision = revision + 1). Kein Redis nötig im Skeleton-Modus,
keine externe Pub/Sub-Infrastruktur. Wenn der Verein wächst und mehrere
Service-Replikas nötig werden, ist Redis-Streams als Backend vorbereitet.
Stack & Infrastruktur
- Sprache
- TypeScript
- Stack
- TypeScript · Hono · Bun · Postgres · Server-Sent-Events
- Port
- 3079
- Hosting
- Eigenbetrieb auf Vereins-Infrastruktur. Keine Drittpartei, kein Cloud-Anbieter, kein Managed-Service.
- Code
- git.mana.how
Infrastruktur unter diesem Service
Welche Vereins-Hardware, eigenen Dienste und bewussten Externe mana-presence konkret benutzt. Jedes Item hat eine eigene Seite mit Stand und Mitigation.
- Maschinemana-serverApple Mac mini M4 · Tägerwilen (Schweiz)Der Hauptserver des Vereins — ein Mac mini M4 in Tägerwilen (Schweiz), der die ganze Plattform trägt.
- Eigener DienstPostgres17 separate DatenbankenEine Postgres-Datenbank pro Service — schema-isoliert, mit Drizzle-Migrationen, keine geteilten Tabellen.
- Eigener DienstRedisCache + QueuesCache, Session-Store und BullMQ-Worker-Queues — klein, schnell, dort wo Postgres zu schwerfällig wäre.
Was er für den Verein verkörpert
- EigenbetriebEigene Infrastruktur, quelloffener Stack.
- AchtsamkeitKeine Engagement-Tricks.
- DatensouveränitätVerwahrer statt Eigentümer.
Was läuft, was nicht
Phase: Live.
- Multi-Replica braucht Redis-Streams als Fanout-Backend — Interface ist drauf vorbereitet.
- Mehr Konsumenten freischalten, Manaclick und Viadocu sind Kandidaten.
Weitere Services dieser Kategorie
Was sich gerade ändert, ohne Polling.
mana-presence ist einer von vielen Plattform-Services, die unter den Apps des Vereins laufen. Eigenbetrieb statt SaaS, dokumentiert statt undurchsichtig.