Langlebigkeit
Bewährte Stacks, klare Service-Grenzen, gute Doku. Wir bauen für zehn Jahre, nicht für die nächste Funding-Runde.
Wir bauen für zehn Jahre. Das ist keine Floskel, sondern eine konkrete Entscheidung gegen kurzfristige Optimierung.
Konkret heißt das: Wir wählen Stacks danach, ob sie in zehn Jahren noch da sein werden. Postgres. SQLite. Hono. Astro. SvelteKit. Bun. Swift. Nicht jeden Monat das Neueste, sondern das, was sich gehalten hat.
Wir grenzen Services klar ab. Jede App ihre eigene Datenbank, JWT statt zentraler Session, Events statt verteilter Transaktionen — so können einzelne Bauteile sterben, ohne die anderen mitzureißen.
Und wir schreiben Doku. Vielleicht zu viel, manchmal. Aber lieber ein README zu viel als ein Bauteil, dessen Urheber niemand mehr erreicht.
Wir bauen auch für Geräte, die noch lange laufen müssen. Eine Mission, die nur auf dem neuesten iPhone Pro Max funktioniert, ist keine Mission, sondern eine Zielgruppe.
Was wir tun
- Bewährte Stacks — Postgres (40+ Jahre), Hono, SvelteKit, Astro, Bun, Swift
- Klare Service-Grenzen — jede App eigene DB, JWT statt verteilter Sessions, Events statt verteilter Transaktionen
- Doku ist Pflicht — pro App ein README, pro Service ein CLAUDE.md, pro Architektur-Entscheidung ein Doc
- Reichweite und Hardware-Langlebigkeit — Apps laufen auch auf alten Phones, schmaler Bandbreite, kleinen Bildschirmen
- Keine Hype-Migrationen ohne Mehrwert für Nutzer:innen
Was wir nicht tun
- Kein Framework-Wechsel, weil ein neues hyped wird
- Keine Abhängigkeiten, die wir nicht selbst verstehen oder forken könnten
- Keine „smarten" Drittpartei-Hooks, die in 18 Monaten kommerziell uminterpretiert werden
Was uns dieser Wert kostet
Jeder Wert hat einen Preis. Wir benennen ihn, damit Werte keine Floskeln werden.
- „Bewährt" heißt manchmal — nicht das modernste oder schnellste
- Doku-Pflege kostet Zeit, die nicht in Features fließt
- Reichweite auf alte Hardware bedeutet UI-Kompromisse, die jüngere Geräte überflüssig finden
Wo dieser Wert konkret im Code steht
Diese Apps, Services und Pakete führen Langlebigkeit ausdrücklich in ihrer Werte-Liste. Werte gewinnen erst, wenn sie sich an Bauteilen festmachen lassen.
- MemoroStimme aufnehmen, automatisch in Text verwandeln, sortieren und durchsuchen — für Notizen, Meetings, Interviews oder Tagebuch.
- ZitareEin offener Zitate-Korpus zum Sammeln, Suchen und Kuratieren — Werke gemeinfreier Stimmen, sauber belegt, unter freier Lizenz.
- WordeckFreie Karteikarten zum Behalten — über 50 fertige Decks gratis, Lernen im eigenen Tempo, und jede Karte kommt zurück, kurz bevor du sie vergisst.
- PagetaLese-App ohne Algorithmus-Druck — Save-it-later mit Markierungen, Pocket-Umzug, voller Export. Was du willst, nicht was klicken soll.
- Chorportal ThurgauGemeinsame Plattform für die Chöre des Kantons Thurgau — Repertoire, Noten, Übungs-MP3s und Setlisten an einem Ort, untereinander teilbar.
- Amana-authIdentität, Sessions und JWKS für alle Vereins-Apps — eine Anmeldung, lokale Token-Verifikation, kein Cloud-Auth-Anbieter.
- Amana-auth-webDas Anmelde-Portal als eigene Web-App — gemeinsame Login-Seite für alle Vereins-Apps mit App-spezifischem Branding.
- AauraPrivater Anerkennungs-Ledger für Beiträge zum Ökosystem — sechs Botanik-Ränge, kleine reale Geschenke, kein Leaderboard.
- XxpGeplantes Lern- und Kompetenz-Backbone der Plattform — Skill-XP pro App, neun Intelligenz-Domains, globaler Level, opt-in-Portfolio.
- Lmana-linksDeep-Link-Resolver — Apps registrieren ihre URI-Schemata, andere verlinken stabil quer durch das Ökosystem.
- Emana-eventsPlattform-Pub/Sub — Topic-basiertes Event-Bus mit At-least-once-Delivery, DLQ und Wildcard-Subscriptions.
- Mmana-mcpTool-Registry und MCP-Gateway — sammelt AI-Tools aus App-Manifesten und liefert sie an Claude-Clients per Model Context Protocol.
- Smana-searchFöderierte Aggregat-Suche — verteilt eine Anfrage über alle Apps eines Users und vereint die Ergebnisse.
- Mmana-mediaObjekt-Speicher für alle Vereins-Uploads — S3-kompatibles MinIO im Eigenbetrieb, Buckets pro App.
- Tmana-transcodeVideo-Transcoding-Worker — liest BullMQ-Jobs, läuft ffmpeg, schreibt 720p/480p/Poster zurück in mana-media.
- Smana-syncEvent-Store-Server für die Event-Sourced-Plattform — Append-only Event-Log pro User pro App, JWT-Auth via mana-auth.
- Nmana-news-poolGeteilter RSS/JSON-Feed-Pool — kuratierte Quellen, die alle Apps gemeinsam lesen können.
- S@mana/shared-uiVereins-UI-Komponenten — Svelte 5 mit strikter 12-Token-Disziplin. Die UI-Foundation aller mana-e.V.-Apps.
- S@mana/shared-tailwindTailwind-Preset für alle Vereins-Apps — gemeinsamer Farb-Token-Satz, Spacing-Skala, Schriften-Stack.
- S@mana/shared-iconsPhosphor-Icon-Wrapper für alle Vereins-SvelteKit-Apps — einheitliche Icon-API, bundlebar pro App nur die genutzten.
- S@mana/shared-theme12-Token-Theming-Engine — pro App ein Theme, ein Token-Satz, eine konsistente Optik.
- T@mana/themesTheme-Variants für Vereins-Apps — konkrete 12-Token-Belegungen, die App-Stimmungen tragen.
- S@mana/shared-brandingBrand-Assets der Vereins-Apps — Logos, Favicons, App-Icons, Footer-Bausteine. Eine Quelle für visuelle Identität.
- S@mana/shared-pwaPWA-Boilerplate für Vereins-Apps — Vite-Plugin, Theme-Bridge, Install-Banner, Update- und Offline-Komponenten.
- S@mana/shared-honoHono-Server-Foundation — JWT-Auth-Middleware, Health-Endpoints, Admin-Routen, Fehlerbehandlung. Jeder Server-Service nutzt das.
- S@mana/shared-drizzle-configDrizzle-ORM-Konfiguration-Factory für alle Vereins-Services — eine DB pro Service, schema-isoliert via pgSchema.
- S@mana/shared-typesGemeinsame TypeScript-Typen für das Vereins-Monorepo — Wissens-Brücke zwischen Services und Apps.
- T@mana/tsconfigGeteilte tsconfig-Bases — Web/SvelteKit und Hono+Bun-Server in zwei sauberen Voreinstellungen.
- S@mana/shared-i18nInternationalisierungs-Helpers — Datumsformat, Pluralisierung, deutsche Schreibweisen. Heute deutsch-only, vorbereitet für mehr.
- Mmana/shared-goGo-Helpers für die wenigen Vereins-Services in Go — Auth, Env, HTTP-Middleware. Pendant zu shared-hono.
- S@mana/shared-schemasEvent-Schemas pro Vereins-App — die Quelle der Wahrheit für mana-sync und Codegen-Quelle für event-kit.
- E@mana/event-kitEvent-Sourcing DSL und Codegen — definiert Schemas einmal, generiert TypeScript, Swift und Kotlin daraus.
- S@mana/shared-authErste Generation der Auth-Klienten-Utilities. Lebt weiter, neue Apps starten auf shared-auth-sso.
- S@mana/shared-auth-ssoSvelte-5-Auth-Klient für das SSO-Cookie-Pattern — createSession, tryRefresh, buildLoginRedirect, AuthCallback.
- S@mana/shared-rssRSS/Atom-Parser plus Mozilla-Readability-Artikel-Extraktion plus Feed-Discovery. Pure-TypeScript ohne externe Dienste.
- D@mana/devlog-genDevlog-Generator für das Vereins-Ökosystem — geht git log durch, bucketisiert pro Tag, schreibt Markdown-Stubs.
Wogegen Langlebigkeit ansteuert — und was wir baulich dafür tun
Werte gewinnen erst gegen die Industrie-Logik, wenn sie sich an konkreten Problemen festmachen lassen — und an strukturellen Lösungenn, die sie tragen.
- Enshittification — Software wird über Zeit schlechterWenn Wachstum, Werbung und Aktionärsrendite den Takt geben, verschlechtert sich jedes erfolgreiche Software-Produkt zwangsläufig.
- Cloud-Energiehunger als SelbstzweckCloud-Wachstum dient zunehmend sich selbst — mehr Strom, um besser zu überwachen, um besser zu monetarisieren, um mehr Cloud rechtfertigen zu können.
- Event-Sourcing als Daten-ArchitekturJede Änderung ist ein Event. Apps lesen Projektionen, schreiben aber nur Events — und der Ledger ist die einzige Quelle der Wahrheit.
- Föderation statt Lock-InWenn der Daten-Austausch über veröffentlichte Protokolle läuft, ist Verlassen nicht teurer als Bleiben — das nimmt dem Enshittification-Mechanismus seinen Hebel.
- Eigenbetrieb auf einem Mac MiniSouveränität fängt damit an, dass jemand im Verein die Stromrechnung der Hardware kennt, auf der die Daten liegen.
Was diesen Grundsatz weiter trägt
- Jetzt Memoro Web — Browser-Live-Test der wiederhergestellten UI Die SvelteKit-UI von Memoro wurde auf die neue Hono-RPC-App geliftet (Phasen A–F durch). Was fehlt vor öffentlicher Bewerbung: ein vollständiger Live-Test im Browser und eine letzte ausstehende DB-Migration.
- Jetzt Apple-Dev-Portal — Capabilities für 13 native Apps freischalten Mehrere native Vereins-Apps sind code-fertig für TestFlight, hängen aber an Capability-Konfiguration im Apple Developer Portal. HomeKit und Local Network blocken Moodlit, App-Groups blocken Cross-App-SSO bei zwei weiteren.
- Jetzt Datenschutz V2 — Audit durch eine Kanzlei Die DSGVO-Vorlage V2 ist eingeführt, 11 App-DSEen, ein gemeinsames VVT und ein einheitlicher Footer stehen. Was fehlt vor offizieller Vereins-Gründung: ein juristisches Audit durch eine Kanzlei mit Datenschutz-Schwerpunkt.
- Jetzt Auftrags-Steuerstatus juristisch klären Das Auftrags-Modell (Software-Aufträge für gemeinnützige Organisationen, Gemeinden und Kantone) ist die geplante Haupt-Finanzierungsquelle des Vereins in der Anlaufphase. Bevor das nach außen kommuniziert wird, muss geklärt sein, ob ein steuerbefreiter Schweizer Verein Auftragsarbeiten in nennenswertem Volumen annehmen kann, ohne den Gemeinnützigkeits-Status zu riskieren — und in welcher Form Honorare an aktive Personen zulässig sind.
- Bald Schweizer Verein formal gründen mana e.V. operiert seit langem als „Verein in Gründung". Der nächste Schritt ist die formale Eintragung als Schweizer Verein nach ZGB Art. 60 ff. — mit Statuten, Vorstand und Mitgliederversammlung. Der Plan, später in eine Stiftung überzuführen, bleibt davon unberührt.
- Bald Off-Site-Backup an einem zweiten CH-Standort Der lokale Backup-Cron läuft (18 DBs, 9 Container, 46 GB nightly) — das Off-Site-Spiegel-Bein fehlt aber noch. Ohne zweiten Standort ist ein Brand- oder Diebstahl-Szenario in Tägerwilen unrettbar.
- Bald sync1 abschalten, nachdem alle Apps auf sync2 (Event-Sourcing) sind sync2 (Event-Sourcing für 9 standalone Apps) läuft live. sync1 (Legacy-LWW für managarten) läuft parallel. Sobald managarten und die letzten Hybrid-Apps vollständig auf event-sourced umgebogen sind, kann sync1 retired werden.
- Bald Alte news.curated_articles-Tabelle droppen (~2026-06-17) In mana_platform liegen noch 25 717 Zeilen vom abgeschalteten news-ingester. Reine Hygiene-Aufgabe — keine App liest sie mehr. Recipe steht intern, nur Ausführung fehlt.
- Später Stiftungs-Umwandlung — sobald die Plattform finanziell trägt Der Verein ist als Schweizer Verein konstituiert; die langfristige Rechtsform ist eine Stiftung, weil sie Eigentum endgültig dem Verein bindet und keinen Verkauf zulässt. Schritt entscheidend für „unverkäuflich" — aber nur dann, wenn die laufenden Kosten dauerhaft gedeckt sind.
- Später Knoten-Mitglieder mit Compute beteiligen (Stufe 3) Heute können Knoten-Mitglieder Backup-Spiegel anbieten. Stufe 3 wäre, dass sie Compute-Lasten mittragen — verteilte Mac-Minis oder GPU-Boxen, die KI-Inferenz oder Echtzeit-Sync föderieren.
- Idee Mana-Tag Health-Bundle — Greenfield-Plan, nicht implementiert Konzept für ein konsolidiertes Gesundheits-Bundle (Nutriphi + Body + Tagesjournal + Mood + Sport in einer kohärenten App) liegt als Playbook MANATAG_GREENFIELD.md vor, mit acht Phasen. Ob es so gebaut wird, ist noch offen.