Projekte

Eine Sammlung von Projekten aus Arbeit, Ausbildung und persönlichen Arbeiten.

ArbeitApr 2026 — heute

Real User Monitoring (RUM)

Dynatrace

Als Backend-Softwareentwickler im Real User Monitoring (RUM)-Kernteam bei Dynatrace arbeite ich an den zentralen, hochbelastbaren und hochverfügbaren Erfassungspipelines mit, die Nutzererfahrungsdaten in Echtzeit und in großem Maßstab erfassen und verarbeiten. Unser Team arbeitet hauptsächlich mit Java und entwickelt Prototypen, implementiert und optimiert Backend-Funktionen, um sicherzustellen, dass die Systemkomponenten auch unter hoher Belastung ihre maximale Leistung und Ausfallsicherheit beibehalten. In enger Zusammenarbeit mit funktionsübergreifenden Teams und Produktarchitekten übernehme ich die End-to-End-Verantwortung für Backend-Dienste – vom ersten Entwurf über das Debugging bis hin zur Überwachung und Analyse ihrer Live-Leistung direkt innerhalb der Dynatrace-Plattform.

  • Java
  • Dynatrace
  • Service-oriented Architecture (SOA)
  • Java Microbenchmark Harness (JMH)
  • Event-Driven Architecture (EDA)
  • Jenkins
  • Monolith
  • REST
  • JUnit & Mockito
  • Claude Code
  • Weniger anzeigen
PrivatJul 2026

Persönliche Portfolio-Website

Ich habe eine persönliche Portfolio-Website erstellt, um meinen beruflichen Werdegang, meine Fähigkeiten und meine Projekte zu präsentieren. Die Website nutzt Astro zur statischen Generierung und legt dabei den Schwerpunkt auf Leistung und minimalen JavaScript-Einsatz.

  • Astro
  • TypeScript
  • HTML
  • CSS
  • JavaScript
AusbildungSep 2025 — Jun 2026

Diplomarbeit - Design and Implementation of a Model Context Protocol (MCP) Server for the Graphical Language Server Platform (GLSP)

TU Wien

Ich habe eine neuartige Integration eines Model Context Protocol (MCP)-Servers für die Graphical Language Server Platform (GLSP) entworfen und implementiert und damit ein strukturiertes Rahmenwerk geschaffen, in dem große Sprachmodelle (LLMs) als zustandsbehaftete, interaktive Assistenten innerhalb grafischer Modellierungsumgebungen fungieren können. Durch die direkte Einbindung des MCP-Servers in die bestehende Node.js-Client-Server-Architektur von GLSP nutzt das System gemeinsame Container für die Sitzungsverwaltung und die Abhängigkeitsinjektion innerhalb eines einzigen Prozesses und vermeidet so den Overhead und die Anfälligkeit herkömmlicher Interprozesskommunikation. Die daraus resultierende wiederverwendbare Bibliothek @eclipse-glsp/server-mcp stellt generische Tool- und Ressourcen-Endpunkte bereit, die es KI-Agenten ermöglichen, präzise mit Diagrammelementen zu interagieren und diese direkt im Editor zu verändern. Sowohl die Client- als auch die Server-Implementierung wurden erfolgreich angenommen und in die offiziellen Upstream-Open-Source-Repositories von Eclipse GLSP integriert.

Unter Anwendung einer Design-Science-Research-Methodik habe ich die Leistungsfähigkeit des Frameworks im Vergleich zu alternativen, auf Serialisierung basierenden (JSON/XML) und Text-DSL-basierten (PlantUML) Interaktionsmodellen anhand standardisierter Modellierungsübungen bewertet. Die empirischen Ergebnisse zeigten, dass der protokollgesteuerte Ansatz bei der Informationsgewinnung nahezu perfekte Präzision und Recall erzielt und gleichzeitig syntaktische Fehler bei der Modellbearbeitung vollständig eliminiert. Insbesondere bei iterativen Modelländerungen verhindert der MCP-Server die für generative Regenerierungsmethoden typische strukturelle Beschädigung durch die Ausführung präziser API-Operationen. Durch die Einbindung domänenbezogener Optimierungen wie Identifikator-Aliasing, Markdown-Serialisierung und deterministisches Layout-Offloading gelang es der Architektur zudem, die operativen Token-Kosten und die Inferenzlatenz um etwa 50 % zu reduzieren.

  • GLSP
  • Model Context Protocol (MCP)
  • TypeScript
  • Node.js
  • Event-Driven Architecture (EDA)
  • Monorepo
  • JavaScript
  • Weniger anzeigen
PrivatApr 2026 — Jun 2026

RealWorld Tech Comparison

Ich habe ein Full-Stack-Evaluierungsprojekt entwickelt, mit dem analysiert werden soll, wie sich verschiedene Backend- und Frontend-Technologien sowie Architekturen unter realen Bedingungen bewähren. Eine strenge Spezifikation für eine einfache Blog-Anwendung (Conduit) wird über mehrere Tech-Stacks hinweg implementiert. Dies ermöglicht einen direkten Vergleich verschiedener Aspekte. Einerseits die Entwicklererfahrung, wie beispielsweise Code-Boilerplate, Typsicherheit und die Reife des Ökosystems, sowie reine Leistungskennzahlen wie Antwortzeiten, Ressourcenauslastung und Durchsatz. Die daraus resultierenden Daten dienen als praktischer Leitfaden für die Auswahl der optimalen Architektur auf der Grundlage messbarer Kompromisse und liefern gleichzeitig Einblicke in die Entwicklerergonomie.

  • Java
  • Go
  • TypeScript
  • Python
  • SQL
  • Spring Boot
  • Quarkus
  • Micronaut
  • FastAPI
  • Express
  • Node.js
  • Bun
  • React
  • Astro
  • PostgreSQL
  • Docker
  • Prometheus & Grafana
  • OpenTelemetry
  • REST
  • N-Tier
  • Vertical Slice
  • Hexagonal
  • HTML
  • CSS
  • Tailwind CSS
  • JavaScript
  • Vitest
  • Playwright
  • k6
  • Weniger anzeigen
ArbeitOkt 2025 — Mär 2026

IT-Modernisierung im Bundesjustizministerium

Accenture

Nach mehreren Jahren auf Eis wurde dieses alte Java-Projekt auf Veranlassung des Bundesjustizministeriums wiederbelebt. Die Aufgabe unseres Teams war zweigeteilt: Zum einen ging es um eine umfassende Modernisierung, um die veraltete Codebasis von Java 11 auf Java 17 zu aktualisieren, und zum anderen um die erfolgreiche Umsetzung und Fertigstellung der verbleibenden Projektanforderungen. Der Umgang mit einer übernommenen, unvollendeten Architektur erforderte sowohl fundierte technische Fehlerbehebung zur Beseitigung technischer Schulden als auch einen zielorientierten Ansatz, um einen wichtigen Auftrag des öffentlichen Sektors zu erfüllen.

  • Java
  • SQL
  • Spring Boot
  • PostgreSQL
  • Service-oriented Architecture (SOA)
  • Docker
  • Jenkins
  • SonarQube
  • Monolith
  • REST
  • JUnit & Mockito
  • Weniger anzeigen
PrivatSep 2025

Family Tree Web Application

Ich habe eine Webanwendung zur Visualisierung und Verwaltung von Stammbäumen entwickelt, die auf einem minimalistischen, aber leistungsstarken Stack basiert. Sie kombiniert ein Go-Backend mit einer eingebetteten Graphdatenbank und einem React- und D3.js-Frontend für die interaktive Visualisierung.

  • Go
  • TypeScript
  • React
  • Cypher
  • SQLite
  • Docker
  • HTML
  • CSS
  • Tailwind CSS
  • JavaScript
  • Weniger anzeigen
AusbildungJul 2025

Verflechtung von grafischer und textueller Modellierung mit GLSP und Langium

King's College London

Ich habe ein Open-Source-Framework entwickelt, das darauf ausgelegt ist, textbasierte Grammatikunterstützung nahtlos in webbasierte grafische Modellierungsumgebungen zu integrieren. Es überbrückt die Kluft zwischen zwei unterschiedlichen Modellierungsparadigmen, indem es die Graphical Language Server Platform (GLSP), die für diagrammatische Ansichten verwendet wird, mit Langium verbindet, einer Parsing-Workbench für textbasierte domänenspezifische Sprachen. Durch die direkte Einbettung von schlanken Monaco-Texteditoren in grafische Diagrammelemente ermöglicht das Framework Sprachingenieuren die Implementierung fortschrittlicher, kontextbezogener Text-Subsprachen. Diese eingebetteten Editoren bieten umfangreiche IDE-Funktionen wie Autovervollständigung, Syntaxhervorhebung und Markierungen zur Live-Validierung direkt innerhalb des grafischen Layouts.

Die zentrale technische Errungenschaft des Frameworks liegt in seinem einheitlichen abstrakten Syntaxgraphen und seiner ausgeklügelten bidirektionalen Synchronisation. Textelemente erkennen strukturell ihre genaue Position auf der Arbeitsfläche, was bedeutet, dass ein in eine bestimmte Kante eingegebener Bedingungsausdruck dessen Geltungsbereich dynamisch einschränkt und die Vorschläge für die automatische Vervollständigung ausschließlich auf der Grundlage der in den vorangehenden grafischen Knoten deklarierten Elemente filtert. Ein automatisierter Nachrichtenbus steuert die Kommunikation zwischen den Komponenten und stellt sicher, dass jede Änderung am grafischen Layout oder am Text sofort eine Neubewertung des Geltungsbereichs auslöst und fehlende Verweise hervorhebt. Diese wiederverwendbare Architektur senkt den Implementierungsaufwand für Sprachingenieure, die robuste, hybride Modellierungswerkzeuge entwickeln möchten, erheblich.

  • GLSP
  • Langium
  • TypeScript
  • Event-Driven Architecture (EDA)
  • JavaScript
ArbeitJul 2024 — Feb 2025

Optimierung der unabhängigen Dienstleistungen beim österreichischen BMF

Accenture

Im Rahmen einer groß angelegten IT-Modernisierungsinitiative für das österreichische Bundesministerium für Finanzen (BMF) konzentrierte sich dieses Projekt auf die Vereinheitlichung und Optimierung der Abläufe, mit denen das Ministerium Dutzende unabhängiger Dienste verwaltet. Unser Team führte eine vollständige Neuimplementierung der Kernsoftware durch, die bereits seit über zwanzig Jahren im Einsatz war, und passte sie an moderne Anforderungen an. Das neue System basiert auf einer verteilten Microservices-Architektur unter Verwendung von Java, Apache Kafka für das Event-Streaming und Camunda für die Geschäftsprozessorchestrierung. Es ersetzte starre, veraltete Arbeitsabläufe durch ein hochskalierbares, ereignisgesteuertes Framework, das auf langfristige Einheitlichkeit und Effizienz ausgelegt ist. Als leitender Entwickler beaufsichtigte ich die Entwickler des Teams und stand in ständigem Austausch mit den technischen und funktionalen Stakeholdern.

  • Java
  • Spring Boot
  • TypeScript
  • React
  • Microservice
  • Event-Driven Architecture (EDA)
  • SQL
  • PostgreSQL
  • Docker
  • Kubernetes
  • Jenkins
  • SonarQube
  • ArgoCD
  • OpenShift
  • REST
  • N-Tier
  • JavaScript
  • HTML
  • CSS
  • Tailwind CSS
  • JUnit & Mockito
  • Vitest
  • Weniger anzeigen
AusbildungApr 2024 — Jul 2024

Bachelorarbeit - Browser-Only Implementation of GLSP as a Digital Sandbox Environment

TU Wien

Ich habe eine vollständig serverlose, ressourcenschonende Sandbox-Umgebung für das Graphical Language Server Protocol (GLSP) entwickelt und mich damit von ressourcenintensiven, servergestützten Plattformen wie Theia Cloud gelöst. Die an der TU Wien in Zusammenarbeit mit EclipseSource entwickelte Lösung nutzt fortschrittliche Browserfunktionen, darunter Node.js-Server, die direkt in Web Workers kompiliert werden, sowie die über benutzerdefinierte JSON-RPC-Protokolle verwaltete Kommunikation, um ein sofortiges clientseitiges Rendering und das Hosting statischer Dateien auf GitHub Pages zu ermöglichen. Durch den Wegfall von Backend-Abhängigkeiten senkt die Plattform die Kosten für die Serverinfrastruktur erheblich und gewährleistet gleichzeitig sofortige Ladezeiten und flüssige Interaktivität bei der Bewertung grafischer Modellierungstools.

Die Sandbox ist mehr als nur ein einfaches Demo-Tool und bietet eine spezielle Metaprogrammier-Schnittstelle, die in den Monaco-Editor integriert ist. Benutzer können nicht nur visuelle Diagrammelemente ändern, sondern auch direkt TypeScript-Quelldateien im Browser bearbeiten und transpilieren, um die grafischen Sprachdefinitionen in Echtzeit neu zu kompilieren. Diese doppelte Funktionalität ermöglicht einen immersiven Entwickler-Workflow direkt innerhalb einer Dokumentationsseite, sodass potenzielle Nutzer sofort eine Vorschau auf den strukturellen Code und die visuelle Ausgabe in Echtzeit nebeneinander anzeigen können.

  • GLSP
  • TypeScript
  • Node.js
  • WebSockets
  • Event-Driven Architecture (EDA)
  • Monorepo
  • JavaScript
  • Weniger anzeigen
ArbeitSep 2022 — Jun 2024

Fristenüberwachung beim österreichischen BMF

Accenture

Dieses Projekt war ein zentraler Bestandteil einer groß angelegten IT-Modernisierungsinitiative für das österreichische Bundesministerium für Finanzen (BMF), in deren Rahmen unser Team die vollständige Neuimplementierung eines über 20 Jahre alten Softwaresystems von Grund auf durchführte, um modernen betrieblichen Anforderungen gerecht zu werden. Das vorrangige Ziel war der Aufbau eines robusten, zentralisierten Systems zur Fristabwicklung. Um dies zu erreichen, entwarfen wir die Lösung auf Basis einer serviceorientierten Architektur (SOA) und entkoppelter Mikrofrontends, wobei wir Java, Apache Kafka und Camunda zur Orchestrierung komplexer Workflows einsetzten. Durch die Implementierung des CQRS-Musters (Command Query Responsibility Segregation) trennt das neue System Lese- und Schreibvorgänge effektiv voneinander und gewährleistet so hohe Leistung, Skalierbarkeit und Datenkonsistenz bei der Fristabwicklung.

  • Java
  • Spring Boot
  • TypeScript
  • React
  • Microfrontend
  • Service-oriented Architecture (SOA)
  • Event-Driven Architecture (EDA)
  • SQL
  • PostgreSQL
  • Docker
  • Kubernetes
  • Jenkins
  • SonarQube
  • ArgoCD
  • OpenShift
  • Prometheus & Grafana
  • REST
  • N-Tier
  • JavaScript
  • HTML
  • CSS
  • Tailwind CSS
  • JUnit & Mockito
  • Vitest
  • Weniger anzeigen
ArbeitJul 2023 — Dez 2023

React-Komponentenbibliothek beim österreichischen BMF

Accenture

Als leitender Entwickler für einen Schlüsselbereich einer groß angelegten IT-Modernisierungsinitiative des österreichischen Bundesministeriums für Finanzen (BMF) war ich verantwortlich für eine zentrale React-Komponentenbibliothek, die zur Vereinheitlichung des digitalen Ökosystems des Ministeriums konzipiert wurde. Als ich in ein Projekt einstieg, in dem es anfangs an geeigneten Entwicklungspraktiken mangelte, etablierte ich gemeinsam mit dem Team strenge technische Standards, Grundsätze für die Codequalität und eine strukturierte Lieferpipeline. Neben der Leitung der technischen Umsetzung war ich aktiv an den übergeordneten Designentscheidungen beteiligt und arbeitete mit funktionsübergreifenden Teams zusammen, um sicherzustellen, dass die gemeinsame Komponentenarchitektur skalierbar, barrierefrei und auf die übergeordneten Modernisierungsziele abgestimmt war.

  • TypeScript
  • React
  • Jenkins
  • SonarQube
  • Jest
  • JavaScript
  • HTML
  • CSS
  • Tailwind CSS
  • Weniger anzeigen
ArbeitMär 2022 — Aug 2022

Camunda Proof-of-Concept beim österreichischen BMF

Accenture

Im Rahmen der groß angelegten IT-Modernisierung für das österreichische Finanzministerium entwickelte unser Team einen zielgerichteten Prototyp, um die Fähigkeiten und das Integrationspotenzial von Camunda für die Geschäftsprozessorchestrierung zu demonstrieren. Der Proof-of-Concept verband nahtlos ein robustes Backend-Ökosystem, das mit Java und Apache Kafka für ereignisgesteuertes Streaming aufgebaut wurde, mit einem modernen, responsiven Frontend, das in Next.js implementiert wurde. Mit der Bereitstellung dieses funktionsfähigen Prototyps haben wir die Tragfähigkeit der Architektur erfolgreich validiert und damit den Weg für datengestützte Entscheidungen zur Orchestrierung komplexer Workflows im Rahmen der umfassenden Modernisierungsmaßnahmen des Ministeriums geebnet.

  • Java
  • Spring Boot
  • TypeScript
  • Next.js
  • React
  • SQL
  • PostgreSQL
  • Docker
  • Kubernetes
  • Jenkins
  • SonarQube
  • REST
  • N-Tier
  • JavaScript
  • HTML
  • CSS
  • Tailwind CSS
  • JUnit & Mockito
  • Jest
  • Weniger anzeigen
ArbeitAug 2021 — Dez 2021

Teilsystem für die interne Immobilienverwaltung

Ich habe an einem Teilsystem für das interne Software-Ökosystem zur Immobilienverwaltung eines lokalen Vermieters und einer Immobilienagentur mitgearbeitet.

  • Java
  • Spring Boot
  • SQL
  • JavaScript
  • React
  • Docker
  • JUnit & Mockito
  • Weniger anzeigen
ArbeitFeb 2021 — Jul 2021

Projekt im Rahmen der IT-Modernisierung bei der österreichischen SVS

Accenture

Ich stieg gegen Ende einer umfassenden IT-Modernisierung bei der Sozialversicherungsanstalt für Selbstständige (SVS) ein und wirkte an einem Dienst mit, der ursprünglich als kleiner Prototyp begann, sich aber schließlich zu einer groß angelegten, fünfjährigen Initiative entwickelte, an der vier Entwicklungsteams beteiligt waren. Als Praktikant in diesem groß angelegten Umfeld konzentrierten sich meine Bemühungen darauf, das rasch expandierende System zu stabilisieren, indem ich die Abdeckung durch automatisierte Tests konsequent ausbaute und kritische Laufzeitprobleme behob. Diese Aufgabe erforderte ein tiefes Eintauchen in eine komplexe, von mehreren Teams gemeinsam gepflegte Codebasis, um Randfälle zu identifizieren, Regressionen zu beheben und sicherzustellen, dass die Software die für die Erbringung öffentlicher Dienstleistungen erforderlichen Zuverlässigkeitsstandards auf Produktionsniveau erfüllte.

  • Java
  • Spring
  • SQL
  • JavaScript
  • Monolith
  • Docker
  • JUnit & Mockito
  • Weniger anzeigen