Case Study
Randalo
Deine Leute. Deine Stadt. Dein Abend.
Randalo ist eine Event- und Community-App für den deutschsprachigen Raum. Ich habe sie mit zwei Mitgründern auf den Weg gebracht und baue seitdem die Plattform dahinter: Architektur, Backend, Cloud und Web-Oberflächen.
- Rolle
- Mitgründer & Geschäftsführer
- Team
- mit Nic Markfort und Jannik Nohn
- Zeitraum
- seit Januar 2026
- Plattformen
- iOS, Android, Web
- Status
- Beta, live im App Store und bei Google Play

01 Hintergrund
Ein Abend, eine App.
Wer mit anderen etwas unternehmen will, springt zwischen vielen Werkzeugen hin und her: Events findet man auf Social Media, geplant wird im Messenger, das Geld wird in einer weiteren App abgerechnet und die Fotos landen verstreut auf den Handys aller Beteiligten. Was in der eigenen Stadt los ist, bleibt dabei oft unentdeckt.
Randalo bringt das in einer App zusammen: entdecken, planen, abrechnen, spielen und erinnern. Für Freundesgruppen genauso wie für Vereine, Cliquen und Veranstalter, die als Orga auftreten.
Was die App kann
Entdecken
Events in der Nähe auf Karte, Feed und Kalender finden und Orte abonnieren, um bei neuen Events eine Push-Nachricht zu bekommen.
Organisieren
Events aus einem Anlass anlegen, als Serie wiederholen, Rollen und Umfragen verteilen und per Link oder QR-Code einladen.
Orgas
Cliquen und Vereine gründen eine Orga mit Mitgliedern, Rollen, eigenem Kalender und gemeinsamem Chat.
Kasse
Ausgaben festhalten, Salden sehen und mit wenigen Zahlungen ausgleichen. Das Geld selbst fließt dabei nicht über Randalo.
Spiele & Turniere
Partyspiele, ein Fotospiel und Turniere mit Spielplan, Tabelle und Live-Stand, auf dem iPhone sogar auf dem Sperrbildschirm.
Galerie
Alle Fotos eines Abends an einem Ort. Gäste ohne App laden über einen Foto-Link hoch.
02 Meine Rolle
Die Plattform, von Ende zu Ende.
Wir sind drei Gründer und Geschäftsführer. Ich verantworte die technische Plattform und habe rund die Hälfte der über 2.400 Commits im Monorepo geschrieben, im Backend und in der Infrastruktur den Großteil.
01
Architektur & Backend
Zehn Domänen-Services mit .NET 10 und gRPC, ein REST-Gateway mit FastEndpoints und Echtzeit über SignalR.
02
Cloud & Betrieb
Die Azure-Umgebung komplett als Code in Bicep, Deployments über GitHub Actions und Telemetrie mit OpenTelemetry.
03
Web-Oberflächen
Orga-Portal mit Next.js, Turnier-Board mit Vue, Admin-Konsole mit TanStack Start und die Website randalo.events mit Astro.
04
Automatisierung
KI-gestützter Event-Import aus Links, eine Medien-Pipeline ohne Handarbeit und ein Orchestrator, der für Tests kurzlebige Server startet und wieder abbaut.
05
App & Repository
Mitarbeit an der Flutter-App und das Zusammenführen von App, Backend, Website und Infrastruktur in ein gemeinsames Monorepo.
03 Architektur
Unter der Haube.
Die App und drei Web-Oberflächen sprechen mit einem .NET-10-Backend aus Domänen-Services. Öffentliche Clients gehen ausschließlich über die Public API, interne Werkzeuge wie Orga-Portal und Admin-Konsole rufen die Services serverseitig per gRPC auf. Alles läuft in Azure Container Apps in einer europäischen Region.

Klare Grenzen
Jeder Service hat sein eigenes Schema in einer gemeinsamen Azure-SQL-Datenbank und spricht mit anderen nur über gRPC oder Nachrichten.
Asynchron, wo es passt
Änderungen wie neue Mitgliedschaften verteilen sich über MassTransit und Azure Service Bus, abgesichert durch eine Outbox.
Lokal wie in Produktion
.NET Aspire startet alle Services samt Datenbank, Message-Bus und Emulatoren mit einem einzigen Befehl.
Infrastruktur als Code
Rund 100 Bicep-Dateien beschreiben die Azure-Umgebung, von Datenbankrollen bis zu Domains und Zertifikaten.
04 Medien-Pipeline
Vom Upload zum fertigen Video.
Fotos und Videos landen nicht einfach im Speicher: Jede Datei wird in Stücken hochgeladen, per Prüfsumme verifiziert, auf Viren gescannt und dann automatisch in passende Bildgrößen oder HLS-Videostreams umgewandelt. Genau solche Abläufe baue ich auch für Unternehmen: robust, ohne Handarbeit und so gebaut, dass sie sich von Fehlern selbst erholen.

Idempotent
Eine streng steigende Workflow-Revision sorgt dafür, dass doppelt zugestellte Nachrichten nichts durcheinanderbringen.
Skaliert auf null
Die Worker laufen als Container-Apps-Jobs, die nur starten, wenn Arbeit in der Queue liegt.
Transparent
Die App zeigt den Fortschritt live über SignalR: angefordert, Virenscan, Verarbeitung, fertig.
05 Arbeitsweise
Wie wir entwickeln.
- Commits seit Dezember 2025
- 2.400+
- .NET-Projekte
- 77
- Testdateien in der App
- 1.400+
- Architekturentscheidungen (ADRs)
- 16
Entscheidungen dokumentiert
Architekturentscheidungen halten wir als ADRs fest, zum Beispiel dass Zahlungen nicht über die App laufen oder dass Serien echte Einzel-Events erzeugen.
Tests auf Wegwerf-Servern
Integrationstests laufen gegen den kompletten Aspire-Stack auf kurzlebigen Hetzner-VMs, die ein eigener Orchestrator startet und abräumt.
Verträge im Blick
Generierter gRPC-Client-Code wird in der CI neu erzeugt. Weicht er von den .proto-Dateien ab, schlägt der Build fehl.
KI im Team
Wir entwickeln mit KI-Agenten wie Claude Code, die über projektspezifische Regeln und Skills die Konventionen des Repos kennen.
06 Verlauf
Von der Idee in die Stores.
Dez. 2025
Projektstart
Die ersten Commits für Randalo.
Jan. 2026
Das Backend entsteht
Ich lege das .NET-Backend an, aus dem die heutige Service-Plattform wird.
Mai 2026
Neustart in Flutter
Die App wechselt von FlutterFlow auf eigenen Flutter-Code.
Juni – Sep. 2026
Beta 1.0
Erste Beta-Builds mit Events, Karte, Chats, Galerie, Turnieren und Partyspielen.
Aug. 2026
Randalo UG
Wir drei werden Geschäftsführer der Randalo UG (haftungsbeschränkt).
Sep. 2026
Version 1.1
Einreichung im App Store, Anmelden mit Apple und Randalo ab 18.
Okt. 2026
Versionen 1.2 und 1.3
Neue Event-Seite, Einladen per QR-Code, Fotospiel, Orgas mit Kasse, Serien und Live Activities auf dem iPhone.
Okt. 2026
Ein Monorepo
App, Backend, Website und Infrastruktur leben jetzt in einem gemeinsamen Repository.
Etwas Ähnliches geplant?
Ob App, Plattform oder die Automatisierung eines Ablaufs: Ich helfe Ihnen, es sauber aufzubauen.







