Zum Inhalt springen
cleson.dev
Alle Projekte

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
  • Startseite mit Events in der Nähe von Osnabrück
  • Karte mit Event-Markern in Münster
  • Event-Seite „Rooftop-Sommerabend“ mit Route, Chat und Fotos
  • Event erstellen: Anlass auswählen
  • Gruppenchat der „Rooftop Crew“
  • Gemeinsame Galerie „Festival-Tag am Fluss“
  • Partyspiel „Ich hab noch nie“
  • Nutzerportal mit Ideen aus der Community
Screenshots aus dem Demo-Modus der App. Die gezeigten Personen und Fotos sind KI-generiert.
Das Turnier-Board im Browser mit K.-o.-Runde und nächsten Spielen.
Das Turnier-Board im Browser mit K.-o.-Runde und nächsten Spielen.

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.

Interaktives Diagramm: Randalo-Plattform im Überblick
Interaktiv: Elemente anklicken für Details, mit „Live“ den Datenfluss abspielen, mit Route und Lens Verbindungen erkunden.Im Vollbild öffnen
  • 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.

Interaktives Diagramm: Randalo-Medien-Pipeline
Interaktiv: Elemente anklicken für Details, mit „Live“ den Datenfluss abspielen, mit Route und Lens Verbindungen erkunden.Im Vollbild öffnen
  • 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+
Architektur­entscheidungen (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.

  1. Dez. 2025

    Projektstart

    Die ersten Commits für Randalo.

  2. Jan. 2026

    Das Backend entsteht

    Ich lege das .NET-Backend an, aus dem die heutige Service-Plattform wird.

  3. Mai 2026

    Neustart in Flutter

    Die App wechselt von FlutterFlow auf eigenen Flutter-Code.

  4. Juni – Sep. 2026

    Beta 1.0

    Erste Beta-Builds mit Events, Karte, Chats, Galerie, Turnieren und Partyspielen.

  5. Aug. 2026

    Randalo UG

    Wir drei werden Geschäftsführer der Randalo UG (haftungsbeschränkt).

  6. Sep. 2026

    Version 1.1

    Einreichung im App Store, Anmelden mit Apple und Randalo ab 18.

  7. 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.

  8. 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.