Was ich gebaut habe

Sechs eigene Produkte, an denen sich meine Arbeitsweise ablesen lässt. Der Quellcode ist öffentlich einsehbar, ebenso die Repositories.

Dieselben Techniken stecken in Auftragsarbeiten: Das CMS und der Static-Site-Generator sind das, was ich unter individueller Webentwicklung ohne Baukasten verstehe. Das Dashboard und die Agenten-Oberfläche zeigen, wie ich wiederkehrende Abläufe automatisiere. Wie aus einer Anfrage ein abgegrenzter Auftrag wird, steht im Ablauf in sieben Schritten.

Der Import-Assistent von FlexOS beim Schritt Feldzuordnung: Spalten einer CSV-Datei werden Standardfeldern zugewiesen, daneben stehen die nicht zugeordneten Spalten.
Echter Anwendungsscreenshot mit Beispieldaten, keine Kundendaten.

01 Desktop-Auswertung, die Daten lokal behält

FlexOS Dashboard

Eigenentwicklung Architektur, Rust-Backend, Frontend, End-to-End-Tests.

Problem

Übliche Auswertungswerkzeuge verlangen, dass Umsatz- und Kundendaten in eine fremde Cloud hochgeladen werden. Für viele kleine Betriebe ist genau das der Grund, es gar nicht erst zu versuchen.

Lösung

Ein Desktop-Programm, das alle Daten lokal in einer verschlüsselten Datenbank hält. Import per CSV, kein Konto, keine Übertragung nach außen.

Ergebnis

Läuft als Desktop-Anwendung. Rust und Tauri statt Electron, deutlich schlanker als der übliche Weg.

  • Lokale SQLite-Datenbank, Feldverschlüsselung mit AES-GCM
  • CSV-Import ohne Konfigurationsaufwand
  • Branchenvorlagen beim ersten Start
  • End-to-End-Tests gegen die echte Desktop-App
  • Tauri v2
  • Next.js
  • Rust
  • SQLite
  • Playwright
Quellcode ansehen ↗
Technische Details

bms-dashboard/ TypeScript

  1. docs/
  2. public/
  3. next.config.mjs
  4. playwright.config.ts
  5. playwright.tauri.config.ts
  6. sample-retail-data.csv
  7. E2E gegen die echte Desktop-App
Die Oberfläche des Pixel Agent Office: zwölf benannte Rollen als Pixelfiguren an Arbeitsplätzen, darüber eine Anzeigetafel mit Kennzahlen und ein Zeitplan.
Dargestellt ist der neutrale Ausgangszustand der internen Oberfläche, ohne Kunden- oder Live-Daten.

02 Visuelle Steueroberfläche für Automatisierungsprozesse

BMS Pixel Agent Office

Eigenentwicklung Konzept, Rollenmodell, Zustandsdarstellung, Oberfläche und technische Umsetzung.

Problem

Wenn mehrere Automatisierungen gleichzeitig recherchieren, Daten aufbereiten, bewerten, Entwürfe erstellen und Systeme überwachen, verteilt sich ihr Zustand über einzelne Skripte und Protokolldateien. Was gerade läuft und wo etwas hängt, ist dann nicht mehr auf einen Blick erkennbar.

Lösung

Eine gemeinsame Oberfläche, die jede Automatisierung als benannte Rolle mit eigenem Zustand darstellt. Kennzahlen, laufende Vorgänge und Aktivitäten stehen an einer Stelle, damit Abläufe nachvollziehbar bleiben und Fehler schneller eingegrenzt werden können.

Ergebnis

Der Zustand mehrerer getrennter Abläufe ist an einer Stelle ablesbar. Dasselbe Prinzip lässt sich auf Recherche, Datenpflege, Dokumenterzeugung, Überwachung und interne Büroabläufe übertragen.

  • Jede Automatisierung als eigene Rolle mit sichtbarem Zustand
  • Kennzahlen und Aktivitätsverlauf in einer gemeinsamen Ansicht
  • Zeitplan der wiederkehrenden Läufe
  • Pixel-Oberfläche statt Protokolldatei, damit der Zustand auf einen Blick lesbar ist
  • Python
  • SQLite
  • HTML & CSS
  • Vanilla JS
Technische Details

bms-agent-office/ Python

  1. agents/
  2. office/
  3. main.py
  4. database.py
  5. leads.db
  6. Rollen als eigene Module
Der Redaktionsbereich von Zentra: links die Seitenbereiche, rechts die Eingabefelder eines Hero-Abschnitts mit Überschrift, Unterzeile und Schaltflächentext.
Demo-Inhalte und Platzhalterwerte – keine Kundendaten oder echten Bewertungen.

03 Redaktionssystem für handgebaute Websites

Zentra CMS

Eigenentwicklung Konzept, Datenmodell, Backend, Oberfläche, Deployment. Alles selbst.

Problem

Kunden wollen Texte und Bilder selbst ändern. Ein großes CMS bringt dafür Erweiterungsballast und regelmäßige Sicherheitsupdates mit, die jemand betreuen muss.

Lösung

Ein schlankes Redaktionssystem, das nur die Felder zeigt, die eine Seite tatsächlich hat. Der Entwickler legt die Struktur fest, der Kunde füllt sie. Die Eingabemöglichkeiten sind bewusst begrenzt, damit Struktur und Layout geschützt bleiben.

Ergebnis

Läuft als Eigenentwicklung. Kein Fremdcode, keine Erweiterungen, keine Composer-Abhängigkeiten.

  • Feldstruktur pro Seitentyp statt freiem Baukasten
  • Signierte Webhooks (HMAC-SHA256) für die Übertragung an die Zielseite
  • Rollen- und Rechteverwaltung
  • Bild-Upload mit MIME-Prüfung, Größenlimit und Umwandlung nach WebP
  • PHP 8
  • MySQL
  • PDO
  • Vanilla JS
Quellcode ansehen ↗
Technische Details

zentra-cms-portal/ PHP

  1. admin/
  2. api/
  3. includes/
  4. migrations/
  5. partials/
  6. index.php
  7. login.php
  8. gen_sync_sql.py
  9. kein Composer, kein npm
Eine vom Generator erzeugte Katalogseite mit Produktkacheln, Preisen, Sortierung und Vergleichsfunktion.
Erzeugte Seite aus einem Produktfeed mit 6.702 Artikeln.

04 Generator für große Produktkataloge

Zentra Static Engine

Werkzeug Konzept und vollständige Umsetzung des Generators.

Problem

Kataloge mit sehr vielen Artikeln fragen bei jedem Seitenaufruf die Datenbank ab. Das ist langsam, teuer im Betrieb und fällt unter Last als Erstes aus.

Lösung

Ein Generator, der den Produktfeed einmalig verarbeitet und daraus fertige HTML-Seiten schreibt. Im laufenden Betrieb gibt es keine Datenbankabfrage mehr und damit auch keine Datenbank, die ausfallen kann.

Ergebnis

Erzeugt aus einem Feed einen vollständigen statischen Seitenbaum. Kein Datenbankzugriff zur Laufzeit.

  • Streaming-Parser für sehr große CSV-Feeds
  • Kategoriestruktur aus dem Feed ableiten
  • Strukturierte Daten je erzeugter Seite
  • Rein statische Ausgabe, kein Serverprozess
  • Node.js
  • CSV-Streaming
  • SQLite
  • JSON-LD
Quellcode ansehen ↗
Technische Details

zentra-static-engine/ HTML / Node.js

  1. build.js
  2. analyze_categories.js
  3. category_structure.json
  4. PRODUCT_CARD_TEMPLATE.js
  5. assets/
  6. -> fertige HTML-Dateien

Weitere Eigenentwicklungen

  • 3D-Landingpage im Browser

    Safari3D

    Demonstrator

    Eine Landingpage mit 3D-Szene, bei der Oberfläche und Renderschleife getrennt sind. Die Bedienelemente blockieren die Darstellung nicht.

    Demonstrationsprojekt. Zeigt, dass 3D im Browser möglich ist, ohne die Seite unbedienbar zu machen.

    • Next.js
    • React Three Fiber
    • GSAP
    • Zustand
    Quellcode ansehen ↗
  • Simulations- und Auswertungsgerüst

    BMS AutoTrader

    Eigenentwicklung

    Ein modulares Gerüst, das Datenströme, Indikatoren, Risikoprüfung und Ausführung strikt trennt und ausschließlich simuliert läuft.

    Läuft ausschließlich im Simulationsmodus. Kein Börsenzugang, kein Echtgeld. Bewusst so gebaut.

    • Python 3.10+
    • Asyncio
    • Pandas
    • Pydantic v2
    Quellcode ansehen ↗

Etwas Ähnliches im Kopf?

Erzählen Sie mir, was entstehen soll. Ich sage Ihnen, ob und wie es geht.