38 KiB
38 KiB
Inhalt
Enthält alle Projekte/Kontexte in denen ich schon tätig war. Jedes Projekt/Kontext besteht aus einem Link bzw Quell, einer Beschreibung, den Herausforderungen des Projektes und den verwendeten Lösungen.
Anwesenheit PDF Generator – KI-gesteuerte Verwaltungsautomatisierung
- Zeitraum: März bis Mai 2026; eigener Arbeitsaufwand insgesamt weniger als eine Woche, verteilt über den Projektzeitraum.
- Quelle: lokales Repository
/Users/rob/code/SUFW/Anweisenheiten, insbesondere.github/copilot-instructions.md,.github/instructions/main.instructions.md,.github/instructions/application-masterplan.instructions.md,.github/copilot-plan.md,.github/copilot-plan-gui.mdund die versionierten Aufgaben in.github/copilot-tasks.md. - Kontext: Windows-Anwendung zur Übertragung monatlicher Anwesenheitsdaten aus Excel in personalisierte SAB-PDF-Formulare, mit CLI und grafischer Oberfläche.
- Eigener Schwerpunkt: Fachliche Spezifikation, Gestaltung der Agent-Anweisungen und Steuerung der überwiegend KI-generierten Implementierung. Der Kompetenzbeleg liegt in Anforderungsmodellierung, Context Engineering und Prozessgestaltung; der generierte Code beschreibt den erreichten Funktionsumfang.
- Arbeitsmittel und Kosten: DeepSeek 4 pro in Visual Studio Code mit dem Copilot-Chat-Modul; KI-Nutzungskosten unter 3 US-Dollar. Ergänzende Caveman-Anweisungen für knappe, tokensparende Agent-Kommunikation.
- Herausforderungen: Eindeutige Übersetzung von Anwesenheits- und Abwesenheitsstatus, Stundenwerten, Pauschalen und deutschen Datumsformaten in PDF-Felder; korrekte Darstellung eines JavaScript-gestützten Formulars; bedienbare Bereitstellung für Windows.
- Spezifikation und Vorgehen: Persistenter Anwendungsmasterplan mit Datenmodell, Feldtabellen, Statusregeln und Validierungskriterien; Vorgabe „Plan vor Implementierung“, Aufgabenzerlegung und schrittweiser Bearbeitung; modularer Datenfluss aus Excel-Import, Datenmodell, Validierung und PDF-Ausgabe; gesonderter GUI-Plan mit Wiederverwendung der Fachlogik, Hintergrundverarbeitung und UI-Aktualisierung über den Hauptthread.
- Qualitätssicherung: Vorgaben für Tests der Fachlogik ohne Abhängigkeit von echten Teilnehmerdateien, Validierung mit Fehlersammlung sowie Vorschau und Bestätigung vor der Generierung; vorhandene Unit-Tests für Import, Feldzuordnung, Stunden- und Pauschalenregeln sowie Validierung; ergänzender visueller PDF-Referenzvergleich mit Differenzbildern.
- Ergebnis: Python-Anwendung mit openpyxl, pypdf, Click und CustomTkinter; PDF-Feldbefüllung einschließlich Summen und Darstellungskorrekturen; Build- und Installer-Konfiguration mit PyInstaller und Inno Setup, Versionierung, Update-Hinweisen und Übernahme aktualisierter Excel-Dateien vom Netzlaufwerk.
- Grenzen des dokumentierten Stands: Teile der Agent-Pläne sind gegenüber der Umsetzung veraltet, etwa Pauschalen- und Praktikumsregeln sowie Packaging-Pfade. Der visuelle Regressionstest ist standardmäßig deaktiviert; Referenzdateien fehlen im vorliegenden Projektstand. Daraus lässt sich keine lückenlose Qualitätssicherung ableiten.
Private Infrastruktur- und Backup-Automatisierung
- Zeitraum: November 2018 bis Mai 2026, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
lokale-scripte. - Kontext: Sammlung eigener Shell-, Batch- und PowerShell-Skripte zur Administration von Linux-, Server- und Arbeitsplatzumgebungen.
- Herausforderungen: Zuverlässige Sicherung verteilter Daten, Redundanz durch externe Datenträger, plattformübergreifende Backup-Abläufe und Ausschluss nicht relevanter Daten wie Caches oder Papierkörbe.
- Lösungen: Restic-Backups über SFTP; rsync-basierte Synchronisation; automatisierte Offsite-Backups; Geräteerkennung über Labels und UUIDs; VeraCrypt-gestützte Sicherungen unter Windows mit Robocopy; Wiederherstellungs- und Hilfsskripte.
Nextcloud-Backup und Betriebsautomatisierung
- Zeitraum: März 2020 bis Mai 2026, belegt durch eigene Commits im Repository.
- Quelle:
lokale-scripte/linux/rsync-nextcloud/undlokale-scripte/boogie/. - Kontext: Automatisierung der Sicherung und Wartung eigener Nextcloud-Instanzen.
- Herausforderungen: Konsistente Sicherung einer laufenden Nextcloud-Instanz einschließlich Datenbanken; Zugriff auf Daten in Container- beziehungsweise Serverumgebungen; passwortlose und automatisierbare Serverkommunikation.
- Lösungen: Umschalten des Nextcloud-Wartungsmodus während des Backups; rsync über SSH mit dediziertem Schlüssel; PHP-gestützte Datenbank-Dumps und Archivierung; Berechtigungsanpassungen nach der Synchronisation; Skripte für Nextcloud-Dateiscans und Aufräumarbeiten.
PhotoPrism-Indexierungsautomatisierung
- Zeitraum: Oktober 2025 bis Januar 2026, belegt durch eigene Commits im Repository.
- Quelle:
lokale-scripte/bfds/root/photoprism-auto-index.sh. - Kontext: Automatisierte, cron-taugliche Indexierung einer PhotoPrism-Installation in Docker.
- Herausforderungen: Vermeidung paralleler Indexierungsläufe, zuverlässiges Aufräumen bei Fehlern oder Abbrüchen und begrenztes Log-Wachstum.
- Lösungen: Sperrdatei mit Ablaufzeit; Signalbehandlung für
EXIT,INT,TERMundERR; zeitgestempelte Protokollierung und Begrenzung der Logdateigröße; Ausführung des PhotoPrism-Kommandos überdocker exec.
MediaWiki-zu-Obsidian-Migration
- Zeitraum: August bis Oktober 2024, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
ScrapeMediawiki. - Kontext: Python-Werkzeug zum vollständigen Abruf eines MediaWiki und zur Ablage der Inhalte als Markdown für Obsidian.
- Herausforderungen: Vollständiger Abruf paginierter Wiki-Inhalte, Umwandlung von HTML und MediaWiki-Links in Markdown, Übernahme von Bildern und Revisionsinformationen sowie Abbildung von Seitenhierarchien.
- Lösungen: Authentifizierte Abfrage der MediaWiki-API mit Fortsetzungsmarken; HTML-zu-Markdown-Konvertierung; Ablage von Seiten in Verzeichnissen anhand ihrer Titel; Download und Verlinkung von Bildern; Erzeugung eines Inhaltsverzeichnisses und von Metadaten zu Kategorien, Links und Revisionen; interaktive Nachbearbeitung von Wiki-Links.
Obsidian-Backup mit rsync und Git
- Zeitraum: März 2026, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
obsidian-backup. - Kontext: Konfigurationsgesteuertes Backup eines Obsidian-Vaults auf einem TrueNAS-Server mit Dateisynchronisation und versionsierter Historie.
- Herausforderungen: Portabler, sicherer Zugriff auf entfernte Daten; Vermeidung leerer Backup-Commits; reproduzierbare Einrichtung ohne Zugangsdaten im Skript.
- Lösungen: Umgebungsdatei für Quelle, Ziel, SSH-Konfiguration und Commit-Präfix; Validierung der Konfiguration; rsync über SSH mit Schlüssel oder benutzerdefiniertem Remote-Shell-Kommando; automatische Initialisierung eines Git-Repositorys; Commit nur bei tatsächlich geänderten Daten.
Deklarative NixOS-Heimserver-Konfiguration
- Zeitraum: Januar bis November 2024, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
bfds-configuration.nix. - Kontext: Modulare, deklarative Konfiguration eines NixOS-Servers für Dateiablage, private Cloud, Speicherverwaltung, Fernzugriff und Systemadministration.
- Herausforderungen: Integration mehrerer Infrastrukturservices mit konsistenten Netzwerk-, Speicher- und Sicherheitsvorgaben; Bereitstellung von Dateiablagen für unterschiedliche Clients; automatisierbarer Betrieb und Upgrade-Prozess.
- Lösungen: Aufteilung der NixOS-Konfiguration in eigenständige Module; Nextcloud mit PostgreSQL, nginx, HTTPS und ACME-Zertifikaten; ZFS-Datasets für die Dateiablage; Samba-Freigaben mit SMB2/SMB3 und erzwungener Signatur; Tailscale, OpenSSH und Cockpit für Fernzugriff und Administration; systemd-Service und -Timer für automatisierte Backup-Ausführung sowie automatische System-Upgrades.
Website für den Fuß- und Radentscheid Dresden
- Zeitraum: März bis Juli 2022, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
fuss-und-radentscheid-dresden. - Kontext: Statische Website einer Dresdner Bürgerinitiative für sichere, klima- und fußverkehrsfreundliche Mobilität.
- Herausforderungen: Wiederverwendbare, responsive Seitenelemente für unterschiedliche Informationsinhalte; einheitliche Einbindung von Navigation, Kontakt- und Social-Media-Links; lokal reproduzierbarer Build unter Windows und Linux.
- Lösungen: Erweiterung der Jekyll-Website um ein Full-Width-Kartenlayout auf Basis von Liquid-Templates; Anpassung von Karten- und Kontakt-Styles mit Sass; Pflege von Navigation, Footer und Social-Media-Verlinkungen; Dokumentation der lokalen Ruby-/Bundler-Installation und des Jekyll-Entwicklungsservers für Windows und Linux.
VRketing Website – WordPress-zu-Jekyll-Relaunch
- Zeitraum: Juli 2021 bis August 2022, belegt durch eigene Git-Commits.
- Quelle: lokales Git-Repository
#_Abgeschlossen/VRketing_webseite/Vrketing-Website, WordPress-Exporte sowie die historische Repository-KopieVRketingWebsite_VRBITS_repo. - Kontext: Kompletter Relaunch der bestehenden WordPress-Unternehmenswebsite für den Kunden VRketing als statische Jekyll-Website. Die bisherige Website und ihr WordPress-Export dienten als Inhalts- und Strukturgrundlage; ausgewählte bestehende Seiten und Blogbeiträge wurden in das neue System übernommen.
- Herausforderungen: Ablösung einer CMS-basierten Website ohne Verlust relevanter Inhalte und bestehender Aufrufpfade; Aufbau eines anpassbaren, kundenkonformen Seitendesigns ohne WordPress-Theme; redaktionell pflegbare Seiten für unterschiedliche Leistungs-, Referenz-, Kontakt- und Bloginhalte; responsive Bedienbarkeit sowie mehrsprachige Inhalte.
- Lösungen: Entwicklung eines eigenen Jekyll-/Liquid-Templatesystems mit Seitenbasis, Header, Navigation, Footer und lokalisierter Inhaltsstruktur; Aufbau einer wiederverwendbaren Card-Architektur mit zwölf Layoutvarianten (unter anderem Bild-, Text-, Video-, Kontakt- und dreispaltige Karten) und gemeinsamen Komponenten für Buttons, Überschriften und Bilder; Nutzung von Jekyll-Collections und YAML-Front-Matter zur konfigurierbaren Zuordnung von 42 Card-Inhaltsdokumenten zu Seiten; Umsetzung responsiver Sass-Layouts, mobiler Navigation, Cookie-Consent, Kontaktformular und Blogdarstellung; Übernahme ausgewählter WordPress-Inhalte, darunter fünf Blogbeiträge, in Markdown; Pflege von Apache-
.htaccess-Weiterleitungen für alte WordPress-URLs sowie Jekyll-basierte Sprach- und Startseiten-Redirects; Build- und Deployment-Konfiguration für Testing und Produktion mit GitHub Actions, AWS S3 und CloudFront.
VISOR/OProc – Visualisierung offener Stadtentwicklungsprozesse
- Zeitraum: August 2017 bis Mai 2018, belegt durch eigene Commits in den drei Projekt-Repositories.
- Quellen: lokale Git-Repositories
/Users/rob/code/visor/oproc,/Users/rob/code/visor/in-transitund/Users/rob/code/visor/d3-oproc. - Kontext: BMBF/Prototype-Fund-gefördertes Civic-Tech-Projekt in Kooperation mit Forschenden der HTW Dresden zur maschinenlesbaren Beschreibung und interaktiven Visualisierung öffentlicher, insbesondere partizipativer Stadtentwicklungsprozesse.
- Teilprojekte:
oprocenthält die Spezifikation eines offenen JSON-Datenmodells;in-transitimplementiert den webbasierten VISOR-Prototyp;d3-oprocdokumentiert die Idee eines separaten Gantt-artigen Visualisierungsmoduls, blieb aber ein nicht implementiertes Konzeptgerüst. - Entwicklung des OProc-Datenmodells, Aufbau der Timeline, Datenimport und -fluss; Zeitachsen, Zoom und Verschieben; Swimlanes und kollisionsarme Prozessanordnung; Filterung, Suche; Weiterentwicklung und visuelle Integration des Abhängigkeitsgraphen.
- Herausforderungen: Abbildung hierarchischer und miteinander verbundener Prozesse in einem offenen Datenformat; gleichzeitige Vermittlung von zeitlichem Verlauf, Abhängigkeiten und Beteiligten; lesbare Anordnung überlappender Prozesszeiträume; konsistente Interaktion und Filterung über mehrere gekoppelte Ansichten.
- Lösungen: URL-basiertes OProc-Modell mit JSON-Objekten und Referenzen; komponentenbasierte Single-Page Application mit Preact; zentraler Anwendungszustand und abgeleitete Filterdaten mit Redux; SVG-basierte Timeline mit dynamischer Zeitprojektion, Zoom, Pan, Swimlanes und Überlappungsbehandlung; gerichtetes Graphlayout mit Dagre; Datumsausgabe mit Moment.js; gekoppelte Hover-, Auswahl-, Such-, Filter- und Detailinteraktionen.
Django-Lernprojekt mit Umfrage- und Blog-App
- Zeitraum: 20. bis 28. Juni 2018
- Quelle:
/Volumes/rob/code/django-first-app. - Kontext: Schrittweiser Aufbau einer Django-Webanwendung mit den Apps
pollsundblogzum Erlernen der zentralen Framework-Konzepte. - Herausforderungen: Strukturierung von Projekt und Apps; Verknüpfung verschachtelter URL-Konfigurationen; Modellierung und Abfrage relationaler Daten; Verarbeitung von Formular-POSTs sowie Trennung von Darstellung und Anwendungslogik.
- Lösungen: Django-ORM-Modelle
QuestionundChoicemit Fremdschlüssel und Migration; SQLite als Entwicklungsdatenbank; Registrierung der Modelle im Django-Admin; funktionsbasierte und generischeListView-/DetailView-Ansichten; Templates und Kontextvariablen; Namespaces,get_object_or_404,reverseund Redirect-after-POST für den Abstimmungsablauf.
info.ngo – Django-CMS-Prototyp
- Zeitraum: Juli 2019, belegt durch die Projektdateien vom 30. Juli 2019.
- Quelle: lokales Projektverzeichnis
/Volumes/rob/code/django-cms/info.ngo. - Kontext: Prototyp einer redaktionell pflegbaren Website auf Basis von Django CMS 3.6 und Django 1.x.
- Herausforderungen: Aufbau frei editierbarer Seitenlayouts; Integration eines umfangreichen CMS-Plugin-Ökosystems; Navigation, Sitemap sowie konsistente Verwaltung von statischen Dateien und Medien.
- Lösungen: Django-CMS-Templates mit Toolbar, Menüs, Sekizai-Blöcken und Platzhaltern für Vollbreiten- und Sidebar-Layouts; CMS-Sitemap und Django-Admin; SQLite-Datenbank; Plugins für CKEditor-Text, Links, Bilder, Dateien, Spalten, Styles, Snippets, Google Maps und Videos sowie
django-filer,easy-thumbnails, Treebeard und MPTT.
info.ngo – Event-, Karten- und Datenplattform
- Zeitraum: Juli bis August 2019; Teamprojekt mit eigenen, durch Git belegten Beiträgen vom 30. Juli bis 27. August 2019.
- Quellen: Git-Repository
/Volumes/rob/code/info.ngo/info.ngo, Django-Anwendung/Volumes/rob/code/info.ngo/info.ngo/InfoNgo_djangound Wiederaufbaukopie/Volumes/rob/code/info.ngo/rebuild-rob/InfoNgo_django. - Kontext: Gemeinsame Entwicklung einer Python- und Django-Plattform zur Gewinnung, Normalisierung, Speicherung, Filterung und kartografischen Darstellung von Veranstaltungs- und Stiftungsinformationen.
- Eigene belegte Beiträge: Abruf und Parsing der Stiftungssuche; Einlesen von Thunderbird-Mailboxen und Grundstruktur eines Mail-Parsers; Weiterentwicklung der Kalenderdaten-Auswertung; Dokumentation und Zusammenführung von Teamänderungen.
- Herausforderungen: Heterogene Websites, HTML-Seiten und E-Mail-Formate; unregelmäßige Datumsangaben; Vermeidung doppelter Events und Orte; Geokodierung und räumliche Darstellung; gemeinsames Filtern und Paginieren; Überführung eigenständiger Scraper in eine Webanwendung bei weiter möglicher Standalone-Ausführung.
- Lösungen: Requests, Beautiful Soup,
lxml/html5lib, Python-mailboxund MIME-Verarbeitung sowie CSV-Ausgabe für die Datenerfassung; Django-2.1-Anwendung mit ORM-Modellen für Events und Locations, Migrationen, Many-to-many-Beziehung, eindeutigen Feldern und transaktionaler Importlogik; Factory-/Service-Layer zur JSON-Serialisierung und DB-Übernahme; Geokodierung mit Geopy und GeoJSON-Punkte mitdjgeojson; Listenansicht mitdjango-filter, Datumsbereichsfilter und Paginierung; Leaflet-Karte mit zeitabhängig eingefärbten Material-Markern; Django-Templates, Authentifizierung, Crispy Forms, Bootstrap und jQuery; MySQL-Konfiguration mit SQLite-Sicherung sowie Python-3.7-/Conda-Umgebung und vorbereiteten Abhängigkeiten für PostgreSQL, Gunicorn, WhiteNoise, Heroku und S3-Speicher. - Varianten: Die Wiederaufbaukopie enthält denselben grundlegenden Django-, App- und Service-Layer; die Hauptvariante erweitert sie um dynamische Popup-Inhalte, zeitabhängige Farbwerte und Material-Icons für Leaflet-Marker.
WLAN-gesteuerter LED-Rahmen
- Zeitraum: September 2022 bis Januar 2023, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
VRKeting-LED-Rahmen. - Kontext: Entwicklung eines ESP8266-basierten LED-Rahmens mit browserbasierter Steuerung von Farbe und Lichteffekten.
- Herausforderungen: Ansteuerung adressierbarer LEDs, Parametrisierung von Farben und Effekten über ein Netzwerk sowie Trennung von Websteuerung und LED-Logik.
- Lösungen: ESP8266-Firmware mit WLAN-Verbindung und HTTP-Routen; eingebettete HTML-/JavaScript-Bedienoberfläche; C++-Klassen zur Kapselung der LED-Ansteuerung und von Effekten wie Farbwechsel, Lauflicht und Regenbogen; Anbindung eines 80 LEDs umfassenden WS2811/WS2812-kompatiblen Streifens über die Adafruit-NeoPixel-Bibliothek.
Rust-Ratespiel
- Zeitraum: Oktober 2018, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
rust_guessing_game. - Kontext: Konsolenbasiertes Lernprojekt in Rust.
- Herausforderungen: Einlesen und Validieren von Nutzereingaben sowie Steuerung eines wiederholten Spielablaufs.
- Lösungen: Erzeugung einer Zufallszahl mit dem Crate
rand; Verarbeitung von Standardeingaben; Umwandlung in einen vorzeichenlosen Integer mitmatch-basierter Fehlerbehandlung; Vergleich der Werte überOrdering; Schleife bis zum korrekten Tipp; Cargo-Konfiguration und VS-Code-Task fürcargo run.
Threetris: 3D-Falling-Block-Prototyp
- Zeitraum: November 2018, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
threetris. - Kontext: Früher 3D-Prototyp eines Falling-Block-Spiels in Rust.
- Herausforderungen: Aufbau einer 3D-Szene, zeitgesteuerte Bewegung eines Spielsteins, Verarbeitung von Gamepad-Eingaben und Begrenzung der Bewegung auf das Spielfeld.
- Lösungen: 3D-Fenster, Kamera, Plattform und Würfel mit
kiss3d; Zustandsmodell über eineBrickPos-Struktur; zeitgesteuertes Fallen mitInstantundDuration; Gamepad-Abfrage überstick; Begrenzung der X-, Y- und Z-Koordinaten durch eine eigene Funktion; erneutes Erzeugen eines Würfels beim Erreichen des Spielfeldbodens.
ChipAcademy AR-Viewer-PackageBuilder
- Zeitraum: 2020
- Quelle: lokales Unity-Arbeitsverzeichnis
ChipAcademy/ARViewer Package,ChipAcademy/BackendConnectorundChipAcademy/Backend/Scripts. - Kontext: Unity-PackageBuilder für konfigurierbare AR-Lernszenen und deren Bereitstellung im AR Viewer.
- Herausforderungen: Wiederverwendbare Konfiguration von 3D-Modellen und Interaktionen; plattformspezifische Bereitstellung von Szeneninhalten; Abbildung von Lern- und Prüfungsinteraktionen mit Text-, Bild-, Video- und Animationsmarkern.
- Lösungen: Unity-Editor-Menüs zum Erzeugen von AssetBundles für Android, Windows und iOS sowie zum Export des Builder-Pakets;
ScriptableObjectzur Konfiguration von Modell, Markern und Cross-Section-Darstellung; Laufzeitlogik für Lern- und Prüfungsmodus, Schrittsequenzen, Videoanzeige und Zuordnungsinteraktionen; Drupal-8.7.7-Backend mit XML-Endpunkt für Szenenmetadaten, Bild- und Beschreibungsdaten sowie plattformspezifische AssetBundle-URLs.
Stadtgeschichtliches Museum Leipzig – AR-Museumsrundgang
- Zeitraum: Eigene, durch Git belegte Beiträge von März bis Mai 2024; die Team-Weiterentwicklung des Projekts reicht laut Historie von September 2021 bis Oktober 2024.
- Quelle: lokales Git-Repository
Unity/MXM-StadtgeschichtlichesMuseumLeipzigARund dessen Projekt-README. - Kontext: Unity-basierte mobile AR-Anwendung für das Stadtgeschichtliche Museum Leipzig. Bildmarker aktivieren mediengestützte Stationen eines Museumsrundgangs; die Anwendung verwendet Unity Addressables, prüft beim Start auf online verfügbare Inhaltsupdates und wird für iOS gebaut.
- Eigene belegte Beiträge: Umsetzung und Einpflege der Station „Livia Frege“ mit Marker, Prefab, Kartenstartpunkt, Stationsreihenfolge und finaler Platzierung; Integration der zugehörigen Schrittgeräusche sowie deutsch- und englischsprachiger Texte, Videos und Guide-Videos. Außerdem Austausch der deutsch- und englischsprachigen Intro-Szenenvideos, Entfernung eines nicht mehr benötigten Guide-Videos und sprachliche Korrektur eines sensiblen historischen Begriffs.
- Herausforderungen: Eine neue historische Station konsistent in die vorhandene AR-Führung einordnen; Karten-, Marker-, Medien- und Sprachversionen synchron halten; redaktionelle Korrektheit bei historisch belasteten Inhalten sicherstellen.
- Lösungen: Pflege der Unity-Assets und -Referenzen für die Station sowie der Karten- und Marker-Konfiguration; Zuordnung lokalisierter Texte und Medien für Deutsch und Englisch; Abstimmung von Station, Karte, Audiocues und Guide-Medien im bestehenden Addressables-basierten Projekt.
CARLA-VR – VR-Fahrschul-Demonstrator
- Zeitraum: Dezember 2021 bis Februar 2022, belegt durch eigene Git-Commits.
- Quelle: lokales Git-Repository
#_Abgeschlossen/CARLA-VR; ergänzende Projektdokumentation „V(R)ahrschule“ und „Carla - VR - How To“. - Kontext: Machbarkeits- und MVP-Demonstrator für eine VR-Fahrschule auf Basis des Open-Source-Selbstfahr-Simulators CARLA. Ziel war, ein Fahrzeug mit einem Lenkrad-/Pedal-Controller in einer simulierten Umgebung zu fahren und die Simulation in Echtzeit über ein VR-Headset zu erleben.
- Herausforderungen: Zusammenführung der heterogenen Komponenten CARLA, der dafür benötigten Unreal-Engine-Laufzeit, VR-Ausgabe, Python-Client-API sowie Logitech-G29-Lenkrad und Pedalen; Einarbeitung in den CARLA-Aufbau als Unreal-Plugin und dessen Client-Server-Architektur; Umkonfiguration einer primär für autonome Fahrfunktionen ausgelegten Simulation für eine interaktive, echtzeitfähige VR-Fahrdemonstration.
- Lösungen: Aufbau konfigurierbarer Startskripte für CARLA-Server und -Client, einschließlich Prüfung von Laufzeit- und PythonAPI-Pfaden, VR-Startparameter und koordiniertem Start; Start der CARLA-Unreal-Runtime im VR-Modus (
-vr) und Anpassung des Python-Clients, sodass die VR-Ausgabe durch die Runtime erfolgt statt durch den Kamera-Stream des Clients; Konfiguration und Auswertung der Achsen von Lenkrad, Gas-, Brems- und Rückwärtspedal über Pygame sowie Übertragung der Eingaben alsVehicleControlan CARLA; Anpassung des manuellen CARLA-Steuerungsclients für ein festgelegtes Fahrzeug, robuste Fahrzeugphysik und Fahrtelemetrie mit Kollisions-, Spur-, GNSS- und IMU-Sensoren.
VR-Training für EnviaM-Umspannwerk
- Zeitraum: Dezember 2019 bis Juli 2022
- Quelle:
vr-bits/EnviaM_Umspannwerk. - Öffentlicher Showcase: https://www.vrbits.de/portfolio/virtuelle-trainingsanwendungen-enviam/
- Kontext: Unity-VR-Anwendung zur Vermittlung von Abläufen in einem Umspannwerk.
- Herausforderungen: Geführte und prüfbare Arbeitsschritte mit unterschiedlichen Schwierigkeitsgraden; realistische Rückmeldung von Spannungszuständen; zuverlässige Teleportation und GUI bei Szenenwechseln.
- Lösungen: Integration von SteamVR, OpenVR, Oculus und VRTK; StepManager-basierte Schrittsteuerung mit Tutorial- und Testmodus; Zustandsmodell für Schalterverriegelungen und Spannungsprüfung einschließlich LED- und Display-Rückmeldung; Fehlererkennung für falsche Verriegelungen; asynchrones Laden und Entladen von Szenen sowie Teleportation mit konfigurierbarem Bildschirm-Übergang.
MMS AssetDownloader
- Zeitraum: Juli bis August 2025
- Quelle:
vr-bits/AssetDownloaderund Telekom DevOps GitLab. - Kontext: Unity- und .NET-Standard-Bibliothek zum Herunterladen, Zwischenspeichern und Vorbereiten von 3D-Assets für eine Production-Manual-Anwendung.
- Herausforderungen: Robuste asynchrone Downloads großer Dateien mit Fortschrittsanzeige, Abbruch und Wiederaufnahme; überprüfbare Cache-Konsistenz; Trennung einer Unity-agnostischen Kernbibliothek von der Unity-Anbindung; Unterstützung mehrerer 3D-Dateiformate.
- Lösungen: HTTP-Streaming mit temporären Dateien und Range-Requests für wiederaufnehmbare Downloads; konfigurierbare parallele Download-Jobs, Fortschritts- und Fehlerereignisse sowie ein URL-basierter Dateicache mit MD5-Prüfsumme und Laufzeitmetadaten; Formatprüfung für glTF, GLB, USD und USDZ sowie Unity-Wrapper; testgetriebene Entwicklung mit NUnit, Moq, HTTP-Mocks und Arrange-Act-Assert-Tests für Download, Cache, Abbruch, Integrität, Import und Resume; Konzeption und Anforderungserhebung für den universellen Downloader, detaillierte CacheManager-Spezifikation sowie tägliche Fortschritts- und Testdokumentation.
- Schnittstellenkontext: Der begleitende Telekom-MMS-Ordner enthält die OpenAPI-3.1-Spezifikation des Asset Service (v1.0.14). Sie definiert OAuth2-geschützte Verwaltung von Assets, Revisionen und Labels sowie binäre Download-Endpunkte. Die Unity-Bibliothek ist bewusst als generischer URL-basierter Download-, Cache- und Importclient abgegrenzt; sie implementiert nicht die Verwaltungs-, Such- oder Upload-Endpunkte des Service.
- Das projekt wurde durch mich mehr oder weniger komplett mittels KI erstellt unter der Maßgabe verlässlches TestDriven Design anzuwenden. Das hat sehr gut funktioniert.
Telekom MMS AI Assist – Avatar-/Voice-Agent-Integration
- Zeitraum: mindestens Februar 2025 (Stand des vorliegenden Repository-Snapshots).
- Quelle: lokales Git-Repository
#_TelekomMMS/ai-assist_ai-assist-service. - Kontext: KI-Assistenz mit Unreal-basiertem Avatar und einem Python-basierten Voice-Agent-Service. Der Service stellt eine WebSocket-Schnittstelle bereit und verbindet konfigurierbar Speech-to-Text, Large-Language-Model und Text-to-Speech, einschließlich OpenAI-, Azure- und lokaler Dienste.
- Eigener Beitrag: Erstellung der Docker- und Kubernetes-Anweisungen zur Einbindung des Dienstes in die Telekom Open Digital Cloud (ODC); Ausrichtung der lokalen Compose-Umgebung und der Delivery-Konfiguration auf Container-Registry, versionierte Images und den Betrieb im Cluster.
- Abgrenzung: Die Unreal-Avatar-Umsetzung und die KI-Anbindung wurden von Kolleg:innen verantwortet.
- Herausforderungen: Einen Echtzeit-Sprachdienst mit mehreren konfigurierbaren KI-Diensten reproduzierbar lokal und in der ODC betreiben; externe Secrets sicher behandeln; die WebSocket-Kommunikation zwischen Container- und Clusterumgebungen nachvollziehbar testen.
- Lösungen: Python-3.11-Slim-Container mit Audio-Abhängigkeiten und Entrypoint; Docker-Compose-Setup mit getrenntem Testcontainer, externem gemeinsamen Netzwerk, Umgebungsdateien und optionaler Aufzeichnungsablage; GitLab-CI-Job zum Build und Push versionierter Images in die Telekom-Registry; dokumentierte lokale, Container- und Kubernetes-Cluster-Endpunkte sowie WebSocket- und Bot-zu-Bot-Tests.
Roche Prozessrallye
- Zeitraum: April bis November 2021
- Quelle:
vr-bits/RocheProzessRallye. - Kontext: Unity-Anwendung zur spielerischen Vermittlung von Prozessschritten in Produktion, Produktionskoordination, Ansatz, In-Process-Kontrolle, Abfüllung, Verpackung und Endfreigabe.
- Herausforderungen: Abbildung eines fortlaufenden Lernspiels mit aufeinander aufbauenden Stationen; Verwaltung von Versuchen, Erfolgen, Zeit und Budget; Navigation zwischen Weltkarte, Innenräumen und Minispielen sowie Einbindung von Lernvideos.
- Lösungen: Sieben Minispiele mit ereignisgesteuerter Freischaltung der nächsten Station; persistente Spiel-, Charakter-, Zeit-, Budget- und Ergebnisdaten sowie ein mit Paritätsbit geschützter Fortsetzungscode; Navigation über NavMesh mit additiv geladenen Innenraumszenen und vorab geladenen Szenen; Video-UI mit Streaming-URLs, Ladezustand, Seitenverhältnis- und Wiedergabesteuerung.
TenneT 2GW Platform
- Zeitraum: Februar bis Oktober 2023, belegt durch eigene Commits im Repository.
- Quelle: lokales Git-Repository
Tennet2GWPlatform. - Öffentlicher Showcase: https://www.vrbits.de/portfolio/tennet-2gw-program/
- Kontext: Interaktive 3D-Webvisualisierung von TenneTs 2-GW-Offshore-Konverterstation. Sie erläutert die direkte 66-kV-Anbindung von Windparks, die Kombination aus Umspannwerk und HGÜ-Konverter sowie den Stromfluss bis zur Landanbindung in Deutsch, Englisch und Niederländisch.
- Herausforderungen: Hochwertige 3D-Visualisierung einer komplexen Energieinfrastruktur für Web und XR; intuitive Navigation zwischen Außen-, Innen- und Detailansichten; browserübergreifend lesbare, mehrsprachige Inhalte auf Desktop, Tablet und Mobilgeräten.
- Lösungen: Unity-Szene mit Needle-Engine-Export in eine Vite-/TypeScript-/Three.js-Webanwendung und glTF-Optimierung; eigene TypeScript-Komponenten für erweiterte Orbit-Kamerasteuerung mit Raycast-Fokus und weichen Kameraübergängen, Distanz- und Idle-Verhalten, Wasser- und Partikelanimationen; WebXR-Interaktion mit Select-/Squeeze-Ereignissen und Teleportation; HTML-/CSS-Content-Overlay mit Steuerung aus der 3D-Anwendung; responsive Layouts, Medienabfragen, dynamische Textgrößen und Querformat-Hinweise für verschiedene Bildschirmgrößen und Pixeldichten.
Roche RMD Rotkreuz – WebGL-Training für Laborabläufe
- Zeitraum: September 2022 bis Januar 2025
- Quelle: Git-Repository
Roche-RMD-Rotkreuz - Nicht öffnentlicher Showcase: https://local.vr-bits.de/showcases/Roche-iPad/
- Kontext: Unity-WebGL-Anwendung für interaktive, modulare Schulungen zu Laborbereichen und -abläufen, darunter Chemieraum, Kühlraum, Schleusen, Flowbox, Freezer und Abfallmanagement.
- Herausforderungen: Wiederverwendbare Umsetzung zahlreicher Teiltrainings mit geführten 3D-Interaktionen; zuverlässige Persistenz und Auswertung von Trainingsfortschritten im Browser; Übergabe der Lernstände an das Cornerstone-LMS; wartbare mehrsprachige Inhalte und automatisierte Auslieferung der WebGL-Anwendung.
- Lösungen: Mindport VR Builder mit JSON-basierten Prozessen sowie eigene Komponenten und Editor-Werkzeuge zum Generieren von Teiltrainings und
ScriptableObject-basierten Workplans; Zustandsverwaltung pro Trainingsmodul und Rücksetzen der Browserdaten überPlayerPrefs; C#-/JavaScript-Brücke mittelsApplication.ExternalCall,postMessageund eingebetteter Iframes zur Übernahme und Meldung erfolgreicher Teiltrainings sowie des Gesamtstatus an das LMS; SCORM- und anschließend AICC-HACP-Paketierung für Cornerstone; Anpassung von Unity-Localization-String-Tables anhand von CSV-Dateien; GitHub-Actions-Pipeline mit GameCI für WebGL-Build und Deployment; Refactoring der Interactables und Software-Design-Patterns, Dokumentation des Lokalisierungs-Update-Prozesses für Kund:innen und interne Teams sowie Analyse und Behebung von UI-Fehlern wie doppelt öffnenden SidePanels.
SaxoCellTraining – WebGL-Training für die Personalschleuse
- Zeitraum: Juni bis September 2024
- Quelle: lokales Git-Repository
SaxoCellTraining. - Öffentlicher Showcase: https://www.vrbits.de/portfolio/digitaler-tuersteher/
- Nicht öffentlicher Showcase: https://local.vr-bits.de/showcases/SaxoCell-iPad/index.html
- Kontext: Auf Basis der Roche-RMD-Erfahrung entwickelte Unity-WebGL-Anwendung für interaktive Schulungen in einer Personalschleuse. Die Anwendung kombiniert eine Übersichtskarte mit einem Trainingsbereich und vermittelt unter anderem Umkleide-, Schuh- und Handschuhabläufe.
- Herausforderungen: Übertragung der modularen Trainingsarchitektur auf ein neues Fachszenario; geführte und nachvollziehbare Teiltrainings mit Fortschritt; mehrsprachige, redaktionell pflegbare Inhalte; nutzbare Darstellung auf Desktop und iPad im Browser.
- Lösungen: Mindport-VR-Builder-Prozesse und
WorkplanData-basierte Modulverwaltung mit lokalisierter Dropdown-Navigation, Erfolgsmarkierungen, optionaler sequenzieller Freischaltung und automatischem Start des nächsten Trainings; Addressable-Szenen und Lokalisierungsressourcen für das Nachladen von Trainings- und Sprachinhalten; Synchronisation der String-Tables mit Google Sheets einschließlich Rich-Text-Unterstützung; angepasste WebGL-Templates für Fullscreen, Seitenverhältnis, Ladeanzeige und Hinweise bei Hochformat; Entwicklung eines SceneGenerator-Zweigs mit konfigurierbarer Interactable-Auswahl, Workplan-Output und Prozessvorlagen, aus dem später das eigenständige TrainingGenerator-Paket hervorging.
VR Builder Scene Generation / TrainingGenerator
- Zeitraum: Oktober 2024 bis September 2025
- Quelle: lokales Git-Repository
_vrbits\de.vrbits.vrbuilder.scenegeneration. - Kontext: Aus dem Roche-RMD-Projekt ausgegliedertes Unity-UPM-Paket zur wiederverwendbaren Erzeugung von 2D-Web-/Standalone- und VR-Trainingsszenen aus Lokalisierungs-CSV-Dateien. Das Paket liegt in Version 0.2.0 vor und verwendet Mindport VR Builder 5.3.2.
- Herausforderungen: Reproduzierbare Erzeugung vieler Teiltrainings samt Lernfortschritt aus einer Inhaltsquelle; konsistente Verknüpfung von Unity-Szene, Lokalisierung, Workplan und VR-Builder-Prozess; Unterstützung sowohl interaktiver Editor-Nutzung als auch automatisierter Erstellung und Prüfung.
- Lösungen: UI-Toolkit-basierter Unity-Editor-Wizard mit Auswahl von 2D- oder VR-Szenentemplates und String-Tables; CSV-Import in Unity Localization, Auswertung der Inhalts-Schlüssel für Teiltrainings und Infopunkte sowie Generierung der zugehörigen
StringTable-Collections; Erzeugung vonScriptableObject-Workplans und VR-Builder-Prozessdateien aus JSON-Templates, einschließlich Eintrag des jeweils erzeugten Prozesses in die Runtime-Konfiguration; Paketstruktur mit getrennten Assembly Definitions, Samples und 2D-/VR-Templates; JSON-parametrisierter Batchmode-Aufruf über Unity CLI mit anschließendem WebGL-Build; NUnit-Regressionstests für UI- und Objektpositionen, Kamera, Addressables, VR Builder und Lightmaps.
3D Vista Rundgang: Netzbooster Kupferzell
- Zeitraum: Oktober 2021
- Quelle: Jira-Tickets
VRBITSPROJ-30: Netzbooster BWundVRBITSPROJ-37: Netzbooster BW Nacharbeit; öffentlicher Showcase: https://www.transnetbw.de/de/netzbooster-anwendung/ - Kontext: Mit der Agentur Die Wegmeister (DWM) umgesetzter interaktiver 3D-Vista-Webrundgang für TransnetBW.
- Herausforderungen: Verständliche Vermittlung von Infrastrukturinhalten in einem browserbasierten Rundgang sowie spätere Übernahme neuer Inhalte und Visualisierungen.
- Lösungen: Erstellung eines lauffähigen Web-Pakets für den Server mit fünf bis sechs Interaktionspunkten, Stock-Audio und Minimap; Nacharbeit mit neuer Übersichtskarte, Infopunkten zum Regenbecken und angepassten Renderings.
VRBITSPROJ-30: Netzbooster BW
- Zusammenfassung: Entwicklung einer Webanwendung für TransnetBW (Kooperation mit DWM).
- Details:
- Umfang: 12 Tage.
- Features: 5-6 Interaktionspunkte, Stock Audio, Minimap, lauffähiges Web-Paket für Server.
- Projektende war für Ende Oktober 2021 geplant.
VRBITSPROJ-37: Netzbooster BW Nacharbeit
- Zusammenfassung: Nacharbeiten am Netzbooster-Projekt.
- Details:
- Aufgaben: Programmierung einer neuen Übersichtskarte, Einarbeitung neuer Infopunkte (Regenbecken), Einarbeitung angepasster Renderings.
- Aufwand: 3 Tage Programmierung.
3D Vista Rundgang: Umspannwerk Conneforde
- Zeitraum: 2022-2024
- Quelle: Jira-Tickets
VRBITSPROJ-48: Conneforde Virtuelles UmspannwerkundVAA-197: Tennet Virtuelles Umspannwerk – 3D Vista Anwendung; nicht öffentlicher Showcase: https://local.vr-bits.de/showcases/UWConneforde/index.htm - Kontext: Für TenneT erstellte virtuelle Umspannwerkbegehung in 3D Vista; die Abstimmung und Aufgaben liefen über ein gemeinsames Teams-Projekt mit Die Wegmeister (DWM).
- Herausforderungen: Realbildmaterial und audiovisuelle Erläuterungen zu einer verständlichen virtuellen Begehung verbinden.
- Lösungen: Hauptverantwortliche Umsetzung der 3D-Vista-Anwendung als 360-Grad-Videoplayer mit eingebundenen 360-Grad-Bildern und 2D-Videos; Erstellung zusätzlicher Sprachfiles und szenenbezogener Untertitel; Dokumentation des Einsatzes von Realbild-Footage in 360-Touren sowie DeepSpeech-Bootstrapping als technische Grundlage für sprachgesteuerte Umspannwerk-Projekte.
VRBITSPROJ-48: Conneforde Virtuelles Umspannwerk
- Zusammenfassung: 3D Vista Projekt für TenneT. Eine virtuelle Umspannwerkbegehung mit 360-Grad-Video.
- Details:
- Abrechnung: 7 Tage für Robert Wartenberg.
- Zusatzaufwand: 2 Stunden für ein zweites Sprachfile und 1 Stunde für Szenen-Untertitel.
- Beteiligte: Daniel Pots (Reporter), Frederik Hartmann (Assignee).
- Kommentare: Stefan Fibig merkte an, dass es sich um einen 360-Videoplayer unter Einbindung von 360-Grad-Bildern und 2D-Videos handelt.
VAA-197: Tennet Virtuelles Umspannwerk - 3D Vista Anwendung
- Zusammenfassung: Erstellung einer 3D Vista Anwendung für TenneT.
- Details: Die Kommunikation und Tasks liefen über ein gleichnamiges Teams-Projekt mit der Agentur "Die Wegmeister" (DWM).
- Beteiligte: Robert Wartenberg (Assignee & Reporter).
VRBits SpeakUp
- Zeitraum: 2025 bis 2026.
- Quelle: Jira- und Confluence-Nachweisen.
- Kontext: Technische Umsetzung, Audiointegration und Qualitätssicherung einer VR-Anwendung zur Kommunikations- und Interaktionsunterstützung.
- Herausforderungen: Verlässlicher Anwendungsstart und Umgang mit ID-Codes; konsistente Einstellungen und Benutzeroberflächen; stabile blickbasierte Interaktionen und Avatar-Verhalten; sprachabhängige Audioausgabe und Lokalisierung; Performance auf VR-Headsets.
- Lösungen: Implementierung der VR-ID-Eingabe und Startintegration; Überarbeitung von Settings- und Multiple-Choice-Panel einschließlich Indikatoren und Schriftgrößen; Stabilisierung der Gaze-Interaktion für Zahnrad und Pamphlet sowie Korrektur von NPC-Blickrichtungen, Kopfanimationen und Beinbewegungen; Behebung von Exceptions im
TrainerAgent; Einbindung von System- und Master-Prompt in die Text-to-Speech-Ausgabe, sprachabhängiges Laden und Fehlerbehebung bei „No Translation Found“; Aufbau und Anbindung von String-Tables an Google Docs zur Lokalisierung; Hall-Effekte im Thought-Mode und Lautstärkeanpassungen. - Qualität, Dokumentation und fachliche Integration: Anleitung zum Skalieren der zwölf Szenen und Dokumentation der Sprachausgabe; Testdurchläufe, unter anderem für Build
v1.0.58_dev, mit Schwerpunkt VR-Headset-Performance; Vorschläge zur Einbindung von SpeakUp in universitäre Fragebögen.