DanceClub

Keine einheitliche Plattform für Social-Dance-Events in Europa. Veranstalter nutzten Instagram-DMs und Tabellen. Tänzer hatten keine Möglichkeit, Events zu entdecken, Veranstaltern zu folgen oder Teilnahmen zu verfolgen.

65

Gradle modules

10

Postgres schemas

4

Frontends

104

Published events

15

Localized markets

No unified platform for social dance events in Europe. Organizers used Instagram DMs and spreadsheets. Dancers had no way to discover events, follow organizers, or track attendance.

A multi-app production platform. Backend. Four frontends. AI pipeline. Infrastructure. All shipped end to end.

Kotlin · Spring Boot · PostgreSQL · Next.js · TypeScript · React · Docker · Caddy · Cloudflare · GitHub Actions

[01]

Backend: Kotlin · Spring Boot 3.4

  • ·Modularer Monolith, 65 Gradle-Module über 11 Bounded Contexts: auth, user, event, organizer, social, public, finance, analytics, audit, cdn, push
  • ·Hexagonale Grenzen zwischen Public Domain, Private Domain, Data Access, API, Business-Logik und REST-Schicht, zur Build-Zeit durch Architekturtests erzwungen statt im Review
  • ·Schema pro Context in einer PostgreSQL-Instanz, 10 Schemata mit je eigenem Migrationsstrang, sodass ein Context ohne Datenmigration herausgelöst werden kann
  • ·Bisher zwei Contexts als eigenständige Services extrahiert, sequenziert über einen generierten Abhängigkeitsgraphen statt über einen Plan
  • ·Event-Backbone von RabbitMQ auf Kafka migriert, Messaging-Vertrag über den Umstieg hinweg stabil gehalten
  • ·Google OAuth2, JWT, API-Key-Auth mit Rate-Limiting, E-Mail-OTP
  • ·PostGIS-Geodatenabfragen, WebSocket-Echtzeitbenachrichtigungen, transaktionale E-Mails
  • ·968 Unit-Tests für die Domänenlogik; Integrationstests gegen echtes Postgres via Testcontainers liegen in den extrahierten Services
[02]

Frontend: Discovery-App

  • ·27 Routes, 72 Komponenten, interaktive Mapbox-GL-Eventkarte mit Listenumschaltung
  • ·PWA-fähig (installierbar), SSR/SSG, Sitemap-Generierung für SEO
  • ·Social-Follows, Tanzpartner-Matching, Nutzerprofile, Event-Sharing
  • ·Google-OAuth-Login, React Hook Form + Zod-Validierung
  • ·Next.js 16, React 19, Tailwind CSS 4, Framer Motion, Radix UI
[03]

Frontend: Organizer-Hub

  • ·11 Routes, 77 Komponenten, Event-Erstellung, Publishing-Workflow, Team-Einladungen
  • ·Google Maps mit Ort-Autocomplete für die Venue-Verwaltung
  • ·Analytics-Dashboard mit Recharts, TanStack-Datentabellen
  • ·Ownership-Claim-System, Veranstalter beanspruchen agentenerstellte Events per Token
[04]

Frontend: Internes Backstage

  • ·15 Admin-Routes für Nutzerverwaltung, Content-Moderation und Plattform-Konfiguration
  • ·Businessplan-Generator mit Umsatzrechner und PDF-Druck
  • ·Review-Pipeline für KI-eingereichte Events vor der Veröffentlichung
  • ·Eigenständige Auth, Prisma ORM, CodeMirror-Editor
[05]

KI-Event-Intake: angetrieben von PulseAI

  • ·Mehrstufige automatisierte Pipeline, die Events entdeckt, klassifiziert und veröffentlicht
  • ·Multi-Provider-LLM-Orchestrierung (Claude, GPT-4, Gemini) mit Failover
  • ·Headless-Browser-Automatisierung für Datenextraktion und -anreicherung
  • ·Automatisierte Qualitätssicherung mit KI-gestützter Fehlerkorrektur
  • ·Voll integriert mit dem DanceClub-Backend über eine dedizierte Agent-API
[06]

Infrastruktur: live seit 2026, durchgehend selbst gehostet

  • ·Durchgängig selbst gehostet, jeder Server, jedes Secret, jeder Deploy verstanden und in eigener Hand
  • ·Einmal eingerichtet, läuft bis heute, das Ops-Setup brauchte seit dem Launch keine Überarbeitung
  • ·Vollständiges CI/CD bei jedem Push: Lint, Type-Check, Test, Build, Deploy. Null manuelle Eingriffe.
  • ·Getrennte Staging- und Produktionsumgebung mit isolierten Secrets, Zero-Downtime-Deploys
  • ·Kein SRE-Team und keine Rufbereitschaft, nicht aus Leichtsinn, sondern weil das System nicht alarmiert
  • ·Der unglamouröse Teil, Monitoring, Backups, Deploy-Disziplin, ist genau der Teil, der es am Leben hält

Live seit 2026 · 65 Module, 10 Schemata · Zerlegung läuft

Want this for your product?

Same discipline. Same ownership. A system that runs itself. Pick the shape of the work.