Ausgangslage
Wir haben Hubz übernommen, nicht gestartet. Die Plattform war bereits im Betrieb, lief aber nicht zuverlässig, und das hatte schon Kunden gekostet.
Bei einem Zugangssystem wiegen solche Fehler schwerer als in den meisten Anwendungen. Wer berechtigt ist und trotzdem ausgesperrt bleibt, fällt ebenso auf wie jemand, der ohne Berechtigung in der Gruppe steht. Beides bemerkt der Betreiber sofort.
Was wir gebaut haben
Statt die Kernfunktionen zu reparieren, haben wir sie neu implementiert: Node.js und TypeScript als Basis, NestJS mit GraphQL-Schnittstelle auf der Serverseite, React und Vite im Frontend. Nach sechs Wochen lief der Neubau.
Das Funktionsprinzip blieb unverändert. Eine Telegram-Gruppe öffnet sich nur für Nutzer, die einen bestimmten Token oder ein bestimmtes NFT halten, geprüft direkt on-chain. Der Betreiber hinterlegt die Regel, die Prüfung läuft beim Beitritt, Mitgliederlisten muss niemand pflegen.
Später kam die Anforderung, Regeln nicht auf Token und NFTs zu beschränken, sondern gegen alles zu prüfen, was ein Smart Contract beantworten kann. Die Auswertungslogik dafür ist allgemein genug für ein eigenes Projekt und liegt als seljs öffentlich vor.
Ergebnis
Mehrere tausend Nutzer haben sich registriert, Hunderte Gruppen liefen über die Zugangsregeln. Den Betrieb haben wir vollständig übernommen, vom Deployment bis zur Rufbereitschaft.
Ausschlaggebend war dabei nicht der neuere Stack, sondern dass die Zugangsentscheidungen wieder nachvollziehbar waren. Betreiber konnten ihren Gruppen erklären, warum jemand hineinkommt und jemand anderes nicht.









