In diesem Vortrag präsentiert Lena, die alleinige Maintainerin von TransDB, eine tiefgehende Architekturanalyse und Betriebsbilanz des Portals TransDB. Als spezialisierte Suchmaschine für trans-relevante medizinische und soziale Angebote in Deutschland konzipiert, bewältigt das Projekt mit einem minimalen Budget von 11 €/Monat auf einer virtualisierten ARM-Infrastruktur signifikanten Community-Traffic.
Der Beitrag beleuchtet die technische Migration des Backends von einem instabilen Node.js/JavaScript-Ökosystem hin zu einer robusten, wartungsarmen Architektur auf Basis von C# und ASP.NET Core. Ein zentraler Fokus liegt auf den Sicherheitsmechanismen: Zur Abwehr automatisierter Scraper und zum Schutz gelisteter Praxen vor Überlastung implementiert das System ein unsichtbares, selbstgehostetes Proof-of-Work-Verfahren namens "Cap". Zudem wird das maßgeschneiderte, ressourcenschonende Geocoding-System auf Basis von GeoNames-Rohdaten und geospatialer MongoDB-Indizierung dargelegt. Abschließend erörtert die Referentin die restriktive Source-Available-Lizenzphilosophie zur Konsolidierung der Community-Ressourcen sowie die ethischen und rechtlichen Dilemmata bei der Moderation sensibler Gesundheitsdaten.
Wichtigste Punkte & Zeitstempel
0:12 Projektvorstellung & Maintainer-Rolle: Die Referentin stellt sich als Hauptentwicklerin und alleinige Maintainerin von TransDB vor und skizziert ihre Fachkompetenz als Fachinformatikerin für Anwendungsentwicklung.
1:45 Funktionsweise & Versorgungsnotstand: TransDB ist eine crowd-gesourcte Suchmaschine für trans-relevante Angebote. Sie adressiert den gravierenden Mangel an spezialisierter medizinischer Versorgung und trans-spezifischer Forschung im deutschsprachigen Raum.
4:22 Projektgeschichte & Ressourcen: Das im November 2020 gestartete Projekt ging im Mai 2021 nach fünf Monaten Entwicklung live. Das ursprüngliche fünfköpfige Team hat sich komplett zurückgezogen; das Portal wird als ehrenamtliches Hobbyprojekt in der Freizeit fortgeführt.
5:45 Nutzer- und Datenbankstatistiken: Das Portal verzeichnet ca. 9.170 Unique Visitors und fast 80.000 Seitenaufrufe innerhalb von 10 Monaten. Die MongoDB-Datenbank umfasst 814 Einträge (719 öffentlich), vorrangig in den Bereichen Therapie und Selbsthilfegruppen.
7:23 Hardware-Infrastruktur: TransDB läuft ressourceneffizient auf einer Hetzner CX21 ARM-Instanz (4 vCPUs, 8 GB RAM, 80 GB SSD) im Rechenzentrum Nürnberg für ca. 11 € pro Monat.
7:53 Containerisierte Service-Architektur: Das über Docker Compose verwaltete System umfasst einen Reverse Proxy, ein SvelteKit-Frontend, ein API-Backend, einen Geocoding-Dienst, Prometheus-Monitoring sowie ein Ticketing-System für die interne Moderation.
9:21 Evolution des Tech-Stacks: Das System migrierte von Vue/Nuxt & Node.js (V1) über SvelteKit-Beta (V2) hin zu einem stabilen Stack aus SvelteKit im Frontend und ASP.NET Core (C#) im Backend (V3), um dem schnelllebigen und wartungsintensiven JS-Ökosystem zu entkommen.
11:50 Missbrauchsschutz durch Cap-Engine: Zur Abwehr automatisierter Scraper implementiert das Backend das selbstgehostete CAPTCHA-System Cap. Dieses nutzt ein unsichtbares Proof-of-Work-Verfahren (PoW) mit einer Instrumentation Challenge, um Praxen vor Spam-Anfragen zu schützen.
13:31 Geospatiales Geocoding-Konzept: Der eigenständige Geocoding-Service importiert geografische Daten von geonames.org in eine MongoDB mit Geospatial Indexing. Er ermöglicht eine performante Umgebungssuche auf Städte-Ebene ohne die Serverlast vollwertiger OpenStreetMap-Instanzen.
14:56 Moderations-Workflows: Ein internes Administrations-Panel ermöglicht die Validierung von Datensätzen. Zur lückenlosen Nachvollziehbarkeit werden Einträge bei Löschungsanfragen archiviert und Änderungen in einem persistenten Audit Log protokolliert.
17:46 Limitierung des Projekt-Scopes: Zur Minimierung des Moderationsaufwands fokussiert sich TransDB strikt auf Gender Affirming Care. Allgemeine transfreundliche Freizeitorte werden bewusst ausgeschlossen, um die Datenqualität hochzuhalten.
19:34 Dilemma der Versorgungsrealität: Bei negativen Rückmeldungen (z. B. Misgendering) wägt das Team ab: Schlechte Versorgung ist oft die einzige Option vor Ort. Bei schwerwiegenden Behandlungsfehlern (z. B. Operationspfusch oder veralteten Hormon-Überdosierungen wie 50 mg Androcur) erfolgt eine Sperrung.
20:57 Rechtliche Risiken & Haftungsfragen: Ein öffentliches Bewertungssystem fehlt gezielt, um rechtlichen Schritten wegen Rufschädigung oder übler Nachrede vorzubeugen. Der Fokus liegt rein auf funktionaler Vermittlung.
21:53 Restriktive Quellcode-Lizenzierung: Obwohl der Code auf GitHub liegt, ist er unter Source Available (Urheberrecht) statt Open-Source-Lizenzen publiziert. Dies soll eine ineffiziente Zersplitterung der Community-Datenbank über inaktive Forks verhindern.
25:05 Roadmap & Zukunftsplanung: Geplante Features umfassen ein strukturiertes Änderungsformular mit Git-style Diffs für Moderatoren, den europaweiten Rollout ("TransDB Goes Europe"), First-Party-Verifikationen für Kliniken sowie die DNS-Migration von Cloudflare zu einem europäischen Provider.
Glossar
Maintainer: Hauptverantwortliche Person für die Wartung, Code-Qualität, Sicherheit und administrative Weiterentwicklung eines Softwareprojekts.
Reverse Proxy: Ein Server, der eingehende Netzwerkanfragen empfängt und diese intelligent an interne Dienste oder Container weiterleitet.
SvelteKit: Ein modernes Anwendungsframework zur Erstellung von Webapplikationen auf Basis des Svelte-Compilers, das sich durch hohe Performance auszeichnet.
ASP.NET Core / C#: Ein hochperformantes, typsicheres und plattformübergreifendes Webframework von Microsoft zur Entwicklung robuster Backend-Infrastrukturen.
ARM CPU: Eine energie- und kosteneffiziente Prozessorarchitektur, die sich zunehmend als Standard in modernen Cloud-Rechenzentren etabliert.
Proof of Work (PoW) / Instrumentation Challenge: Ein kryptografisches bzw. technisches Schutzverfahren, bei dem der Client-Browser im Hintergrund Rechenleistung erbringen muss, um menschliche Interaktion nachzuweisen und automatisierte Bots abzuwehren.
Geospatial Indexing / Geocoding: Die Umwandlung von Ortsnamen und Postleitzahlen in geometrische Koordinaten (Breiten-/Längengrade) sowie deren effiziente Indizierung in einer Datenbank zur Durchführung von Umkreis- und Distanzberechnungen.
Audit Log: Ein manipulationssicheres, chronologisches Protokoll, das alle administrativen Änderungen an der Datenbank zur späteren Nachvollziehbarkeit aufzeichnet.
Gender Affirming Care: Medizinische, psychologische und soziale Behandlungen (wie Hormontherapien oder chirurgische Eingriffe), die darauf abzielen, die körperlichen Merkmale einer Person an ihre geschlechtliche Identität anzupassen.
Androcur (Cyproteronacetat): Ein hochwirksames Medikament zur Blockierung männlicher Sexualhormone (Androgene). Extrem hohe Dosierungen (wie 50 mg) gelten in der modernen Trans-Medizin aufgrund neurologischer Risiken als obsolet.
Source Available: Ein Software-Lizenzmodell, bei dem der Quellcode zwar öffentlich einsehbar und überprüfbar ist, die freie Weiterverbreitung, Modifikation oder kommerzielle Nutzung jedoch urheberrechtlich eingeschränkt bleibt.
Git-style Diff: Die kontrastierende Gegenüberstellung von Code- oder Textzeilen, bei der Modifikationen (Hinzufügungen/Löschungen) farblich hervorgehoben werden, um Änderungen vor der Freigabe visuell zu prüfen.