Portfolio

Projekte und Case Studies.

Webplattformen, Onlineshops, Apps und Produktkonzepte. Einblicke in Ziel, Umsetzung und Projektstand – ohne eine Kundenbeziehung zu unterstellen.

Alle Arbeiten

Von der Oberfläche bis zur Architektur.

Die Ansichten der PV-Plattform sind anonymisiert. Eigenprojekte und Open-Source-Werkzeuge gehören ebenso zum Portfolio.

Web Application Ref 01

Solar Management Hub

Webbasierte Plattform zur Analyse und Bearbeitung großer PV-Markt- und Betreiberbestände – mit Karte, CRM, geprüften Unternehmensdaten und Vertriebsfunktionen.

  • React
  • TypeScript
  • PostgreSQL
  • Prisma
Technische Details

Anspruch: Die Oberfläche ist nur die sichtbare Seite. Entscheidend ist die Datenbasis dahinter – sie muss Suchlogik, Kartenansicht und Vertrieb mit derselben Quelle versorgen.

Funktionsumfang

  • React-/TypeScript-Frontend mit responsivem Admin-Dashboard
  • Express-/TypeScript-API
  • PostgreSQL + Prisma
  • Sicherer Admin-Login mit HttpOnly-Cookie, initialer Admin aus Umgebungsvariablen
  • Audit-Logs für erfolgreiche und fehlgeschlagene Logins
  • E-Mail-Bestätigung und expliziter Account-Lebenszyklus
  • Persönliche und geschäftliche Profilverwaltung
  • Admin-Warteschlange für Organisationsverifizierungen
  • Signatur-, Integritäts- und optionaler Malware-Scan für Verifizierungsunterlagen
  • Vollständige interne und öffentliche Dienstleisterprofile
  • Leistungen, Einsatzgebiete, Qualifikationen, Verfügbarkeiten und Referenzen
  • Integritätsgeprüfte Dienstleisterlogos
  • Mehrere Benutzer je Organisation mit Inhaber-, Administrator- und Mitarbeiterrollen
  • Öffentliches Verzeichnis verifizierter Dienstleister mit strukturierten Filtern
  • Betreiber-, Anlagen- und Standortdaten
  • Kartenansicht mit Anlagen- und Cluster-Darstellung
  • Postleitzahl-basierte Georeferenzierung
  • Skalierbare Betreiber- und Anlagenansichten
  • Enterprise-Suche über Betreiber, Anlagen und CRM-Daten
  • Kontakte, Leads, Aktivitäten, Aufgaben und Opportunities
  • Account Intelligence, Sales Assessment und Sales Copilot
Frontend
React · TypeScript
Dashboard · Karten · Suche
API
Express · TypeScript
Logik & Anbindung
Daten
PostgreSQL · Prisma
Betrieb: Docker
Frontend
React, TypeScript – responsives Admin-Dashboard
Backend
Express, TypeScript – API-Schicht
Datenbank
PostgreSQL, Modelle über Prisma
Infrastruktur
Docker Compose, Nginx Reverse Proxy, Backup- und Restore-Skripte
Security
Admin-Login mit HttpOnly-Cookie, initialer Admin aus Umgebungsvariablen, Audit-Logs für erfolgreiche und fehlgeschlagene Logins, Signatur-, Integritäts- und optionaler Malware-Prüfung von Verifizierungsunterlagen
Datenqualität
Manuelle Betreiber-Datenanreicherung mit Quellenprovenienz und Review, Identitätsprüfung über Domain-, GLEIF-, VIES-, Geo-, Claim- und Registerprüfung
Gestaltung
Markenauftritt: Logo, Favicon, Icon-Set, Farbwerte

Ansichten aus der laufenden Plattform. Firmen-, Personen-, Anlagen- und Standortdaten sind für die Veröffentlichung anonymisiert.

Shop-Obersicht mit Themenboxen für Kinder: Produktkarten, Warenkorb und Kontobereich

E-Commerce Ref 02

Lemanda – Do It Kids

Kleiner Webshop für Bastelboxen mit statischem Frontend und PHP-API für Zahlungen, Kundenkonto, Abo und Kontaktformular.

  • HTML / CSS / JS
  • PHP API
  • Mollie
  • DE / EN
Technische Details

E-Commerce-Oberfläche mit Produkt- und Themenwelten für kreative Bastelboxen: Kartenübersichten, Warenkorb, Kontobereich und Sprachumschaltung zwischen Deutsch und Englisch.

Architektur
Statisches Frontend plus PHP-API als Backend
Frontend
HTML, CSS, JavaScript – Produktkarten, Themenwelten, Warenkorb, Kontobereich, Sprachumschaltung
Backend
PHP-API für Zahlungen, Kundenkonto, Abo und Kontaktformular
Zahlungen
Mollie
Sprachen
Deutsch / Englisch (DE / EN)
Format
Video (MP4) mit Standbild als Fallback
Star Sprinkler: lächelnder sternförmiger Sprinkler im dunklen Kosmos, umgeben von Staub und Blasen

App Ref 03

Star Sprinkler

Pixel-Art-Top-Down-Shooter für Kinder von 6 bis 10 Jahren: ein lächelnder Stern fliegt durch den Kosmos und saugt Staub, Blasen und Roboter auf – nichts wird getötet, alles zerplatzt in Konfetti.

  • Kotlin
  • Android
  • Canvas / SurfaceView
  • Pixel Art
Technische Details

Ablauf: Titel → visuelle Einführung → Sternenkarte → Gameplay → Ergebnis. Durchgehend icon-gesteuert, ohne Textnavigation.

Level: 12 Stages in 3 Zonen mit einem freundlichen Boss am Ende jeder Zone. Cosmic Cobalt als Einstieg, Bubble Bloom mit Roboterkäfern und versteckten Sternsplittern, Robot Garden als Kombination. Der Sparkle-Meter wird gefüllt, um eine Stage zu räumen; auf Boss-Stages beschwört er stattdessen den Boss. Fünf Power-ups: Bubble Shield, Twin Twinkle, Zoom Boots, Star Magnet und Star Heart.

Steuerung: Linker Stick zum Bewegen, die Basis springt direkt auf den Daumen. Rechter Stick zum Zielen und Schießen, mit Snap-to-Ziel. Ohne Zielen greift ein Auto-Aim-Assist sanft das nächste Ziel an – vollkommen einhändig spielbar.

Architektur
Native Kotlin mit eigener Canvas/SurfaceView-Engine – keine Game-Engine, kein AndroidX, keine Laufzeitabhängigkeiten
Simulation
Reiner Kotlin-Kern ohne android.*-Imports, der ein abstraktes RenderTarget treibt – damit headless auf normaler JVM testbar
Grafik
Keine Bildassets: alle Sprites werden zur Laufzeit von einem kleinen Polygon-Rasterizer gezeichnet und auf der GPU eingefärbt – keine PNGs, keine fehlenden Assets, gestochen scharf auf jedem DPI
Audio
Keine Audioassets: 14 Soundeffekte und 4 Chiptune-Loops werden komplett synthetisiert (Puls/Dreieck/Sägezahn plus Rauschperkussion)
Performance
Allokationsfreier Frame-Loop mit festen Entity-Pools, adaptive virtuelle Auflösung – gleiche Steuerung und Geschwindigkeit vom 16:9-Handy bis zum 21:9-Gerät
Privacy & Sicherheit
Keine Berechtigungen deklariert, kein Netzwerk, keine Analytics, keine Tracker, keine Kennungen – geprüft durch ChildSafetyAuditTest. Keine Werbung, keine In-App-Käufe, keine strafenden Timer, keine externen Links
Kinderfreundlichkeit
Der Build bricht ab, wenn Namen von Gegnern, Power-ups oder Boss beunruhigende Begriffe enthalten (LevelTableTest); harte Obergrenzen für Geschwindigkeit, TP und Gegnerzahl, Sprünge im Schwierigkeitsverlauf nie über 45 %
Bedienbarkeit
Ziele ab 44 Einheiten, beide Sticks mit sprunghafter Basis und Auto-Aim-Assist für kleine Hände
Monetarisierung
Einmalzahlung vorab, keine Werbung, keine In-App-Käufe
Pocket Inventors: App-Icon mit dem orangefarbenen Roboter Bolt auf hellem Grund

App Ref 04

Pocket Inventors

Visuelles Puzzle-Spiel für Kinder von 6 bis 12 Jahren: der kleine Roboter Bolt läuft von allein los – vorher muss ein Weg gebaut werden, der ihn ans Ziel bringt.

  • Android
  • Offline
  • Puzzle
  • 6–12 Jahre
Technische Details

Spielprinzip: Ein Level ist eine kleine Szene mit Boden, Lücken und Plattformen. Der Spieler zieht Bauteile aus einer Leiste in die Szene, drückt START und schaut zu. Bolt läuft, springt, rutscht, wird geschleudert – und erreicht das Ziel oder eben nicht. Scheitern kostet nichts: kein Leben, keine Energie, kein Timer-Druck, keine Strafe, sofort ein RESET-Knopf und freundliches Feedback.

Architektur
Rein lokales Einzelszenen-Design: Szene, Bauteile, START, RESET und Beobachtung – ohne Server, ohne Konto
Privacy
Fortschritt vollständig lokal auf dem Gerät, die App deklariert nicht einmal die INTERNET-Berechtigung
Monetarisierung
Einmalzahlung (0,99 €, Preis wird in der Play Console final festgelegt), keine Werbung, keine In-App-Käufe, keine Abos, kein Login
Level
6 Welten geplant, 35 Level im MVP vollständig spielbar
Abwesenheiten als Produktentscheidung
Kein Shop, keine Währung, keine Angebote, keine Lootboxen, kein Werbe-SDK, kein AD_ID, kein Firebase, keine Analytics, kein Crashlytics, kein Billing, kein OAuth, kein Cloud-Sync, kein Chat, keine Freundesliste, kein Leaderboard, keine WebView, keine externen Links, keine Nutzungsbedingungen für Kinder
Absicherung
ContentAuditTest schlägt fehl, sobald eine dieser Aussagen gebrochen wird
SCD-Deck: Kommando-Palette mit favorisierten Linux-Befehlen und kategorisierten Kommandos

Open Source · MIT Ref 05 GitHub – Quellcode, öffnet in neuem Tab

SCD-Deck

Drei Desktop-Decks für Linux Mint: ein schwebendes Panel für Entwicklerbefehle, eins für den Alltag und eins für Wartung und Diagnose.

  • Python 3
  • GTK3
  • Linux Mint
  • MIT
Technische Details

Kein Dock, kein App-Grid, kein Startmenüeintrag – die Decks liegen am Bildschirmrand und tun genau das, wofür sie gebaut wurden.

Umfang: 121 Befehle in 17 Kategorien im System Deck, 93 in 8 Kategorien im Command Deck und 36 in 6 Kategorien im Daily Deck – zu System, Hardware, Speicher, Netzwerk und Sicherheit, Git, Node, Docker und Deploy, Programmen, Verzeichnissen, SSH und Medien.

Grundsatz: Python 3 und GTK3, beide Systempakete. Keine externe Python-Abhängigkeit, keine installierten Pakete und kein Netzwerkzugriff aus dem Programm heraus. Jedes Deck ist ortsunabhängig und ermittelt seinen Pfad selbst.

  • Command Deck kopiert Befehle, führt sie aber nie aus
  • System Deck liest und diagnostiziert – ohne Shell, ohne sudo
  • Daily Deck öffnet Programme, Pfade, SSH und Medien
  • Jeder Installer legt vorher ein Backup an und überschreibt nichts
Architektur
Drei eigenständige Desktop-Decks, ortsunabhängig
Frontend
GTK3 – drei Systempakete
Sprache
Python 3, keine externe Abhängigkeit, keine installierten Pakete
Plattform
Linux Mint
Security
Kein Netzwerkzugriff, kein sudo, Befehle werden kopiert statt ausgeführt, Installer legen vorher ein Backup an
Lizenz
MIT
  • Command Deck
  • Daily Deck
  • System Deck

Repository GitHub – Quellcode, öffnet in neuem Tab

Stream Bridge Logo: farbiges S mit Play-Symbol und Equalizer-Balken in Cyan bis Violett, darunter die Wortmarke Stream Bridge

Open Source · MIT Ref 06 GitHub – Quellcode, öffnet in neuem Tab

Stream Bridge

Lokale Brücke zwischen Online-Musikkatalog und MPD: stabile lokale URLs statt kurzlebiger Signaturen, die mitten im Track ablaufen.

  • Python 3.11
  • MPD
  • yt-dlp
  • MIT
Technische Details

Der Dienst legt sich als HTTP-Service dazwischen, damit Player und Clients stabile lokale URLs sehen statt kurzlebiger, signierter Links, die mitten im Track ablaufen.

  • Weboberfläche, CLI und Android-App auf derselben Queue
  • Suche, Wiedergabe und Favoriten über yt-dlp und MPD
  • Läuft nur lokal – Loopback als Vorgabe, Netzbetrieb nur mit Token
  • Weboberfläche aus drei statischen Dateien, ohne Build-Schritt
Architektur
HTTP-Service zwischen Online-Katalog und MPD
Frontend
Ein HTML-Dokument mit eigenem CSS und JavaScript – kein Framework, kein Build-Schritt
Backend
Python 3.11 Standardbibliothek, CLI und Konfiguration
Datenbank
Keine – Zustand liegt in MPD, URLs werden nur kurzzeitig zwischengespeichert
APIs & Integrationen
HTTP-API auf Loopback, MPD, yt-dlp
Security
Nur Loopback, Netzbetrieb nur mit Token; keine Content-Security-Policy-Ausnahme, keine Drittanbieter-Assets, kein Account, keine Telemetrie
Zustellung
Live-Zustand über Server-Sent Events mit Rückfall auf Polling; Stream-URLs zwei Minuten zwischengespeichert, nie auf der Festplatte, bei Fehlern neu aufgelöst
Lizenz
MIT

Repository GitHub – Quellcode, öffnet in neuem Tab

Standbild aus Digital Art: farbige Anime-Illustration mit türkisfarbener Haarlocke vor dunklem Hintergrund

Digital Design Ref 07

Digitale Illustration

Digital Art als eigenständiges Bildwerk: ausgearbeitete Fantasy-Motive mit gesetzter Farbwelt und Formensprache.

  • Digital Art
  • Illustration
  • Key Visual
Technische Details

Einsetzbar als Key Visual, Hintergrund oder Interface-Grafik.

Leistung
Digital Art, Illustration, Key Visual, Interface-Grafik
Gestaltung
Gesetzte Farbwelt und Formensprache, ausgearbeitete Fantasy-Motive
Format
Video (MP4) mit Standbild als Fallback
Grafik der Blog-Startseite: Kachel mit der neuesten Meldung und den Hinweisen statisch, RSS und Sitemap, daneben drei Artikelleisten

Blog · Open Source Ref 08

Haas Arts Blog

Eigener AI- und Developer-Blog: statisch ausgeliefert, ohne WordPress und ohne Datenbank – mit redaktioneller Maske, News-Cache und RSS.

  • Node
  • Nunjucks
  • Markdown
  • RSS
Technische Details

Der Blog läuft als eigene Sektion unter /blog/. Recherche sammelt Meldungen aus RSS- und GitHub-Quellen in einen lokalen Cache, KI erzeugt daraus Entwürfe – veröffentlicht wird erst nach Freigabe.

  • Statisches HTML mit RSS, Sitemap, Kategorien, Tags und Archiv
  • Relevanzfilter statt Zehner-Meldungen-Sammlung: Score aus Regeln
  • Redaktionsmaske im Browser, nur lokal erreichbar
  • Social-Entwürfe je Artikel, kein automatisches Posten
Architektur
Markdown mit Frontmatter, statischer Generator, keine Datenbank
Frontend
Statisches HTML mit eigenem CSS und Vanilla JavaScript – Suche, Teilen und Navigation ohne Framework
Backend
Node-Skripte für Recherche, Entwürfe, Build und Prüfung – laufen nur lokal
Datenbank
Keine – Meldungen liegen als JSON-Cache, Artikel als Markdown-Dateien im Repository
APIs & Integrationen
RSS und Atom, GitHub-Releases, Ollama- und Anthropic-kompatible Schnittstellen für die Entwurfserzeugung
Security
Keine Konten, keine Telemetrie, keine externen Schriften, keine Drittanbieter-Einbettungen; die Redaktionsmaske bindet nur an 127.0.0.1
Zustellung
Statischer Build nach public/, Upload als /blog/; Sitemap und RSS werden bei jedem Build erzeugt
Lizenz
Quelltext im eigenen Repository

Zum Blog Blog lesen – öffnet den Blog in neuem Tab

Mini Mysteries: App-Icon mit Milos freundlichem Gesicht unter der Lupe und einem goldenen Stern

App Ref 09

Mini Mysteries

Ruhiges Detektivspiel für Kinder von 6 bis 12 Jahren: Milo, ein kleiner Detektiv mit Hut, Mantel und Lupe, löst 20 Fälle in fünf Kapiteln – allein durch genaues Hinsehen.

  • Kotlin
  • Jetpack Compose
  • Android
  • Offline
  • 6–12 Jahre
Technische Details

Spielprinzip: Szene untersuchen, Gegenstände antippen, Hinweise sammeln, im Notizbuch vergleichen, Beweise kombinieren und eine Schlussfolgerung treffen. Kein Zeitdruck, keine Timer, keine Leben, keine Energie, keine täglichen Belohnungen. Ein falscher Tipp ist nie fatal: Die App erklärt freundlich, welcher Hinweis fehlt, und lässt den Spieler es erneut versuchen. Die „Täter“ sind am Ende immer Katzen, Hunde, Mäuse, Luftballons, der Wind oder ein freundliches Missverständnis.

  • 20 vollständige Fälle in fünf Kapiteln: Zuhause, Schule, Park, Museum, Fest
  • Drei Hinweisstufen je Fall, im Junior-Modus deutlich stärker als im Detektiv-Modus
  • Notizbuch, Beweiskombinationen, Bonusfrage und kosmetische Sternebewertung
  • Vier lokale Profile mit eigenem Fortschritt, eigenen Sternen und Avatar
  • Elternbereich per Rechenaufgabe geschützt, vollständiges Zurücksetzen
Architektur
Native Android-App mit Kotlin 2.0.21 und Jetpack Compose (Material 3), Landscape, minSDK 24 / targetSDK 35. Fälle sind ausschließlich Daten in einer kleinen DSL – die Engine muss dafür nie angefasst werden
Grafik & Audio
Über 90 Requisiten und 13 Raum-Hintergründe werden zur Laufzeit mit Compose-Canvas gezeichnet, Klänge auf dem Gerät berechnet – keine Bild- und keine Audiodateien im APK
Privacy
Fortschritt lokal über DataStore, keine personenbezogenen Daten, kein Login, kein Tracking. Das Manifest deklariert nur VIBRATE – die App kann technisch keine Netzwerkverbindung öffnen
Tests
67 JVM-Unit-Tests (Fälle, Engine, Speicher, ViewModel, Elternbereich) plus 11 instrumentierte UI-Tests; ein Validator prüft jeden neuen Fall auf kaputte Verweise
Barrierefreiheit
Trefferflächen werden vergrößert, Junior-Modus markiert interaktive Objekte, „Weniger Bewegung“ schaltet Endlos-Animationen ab, Ton, Musik und Haptik einzeln schaltbar
Monetarisierung
Einmalzahlung (0,99 €, Preis wird in der Play Console final festgelegt), keine Werbung, keine In-App-Käufe, keine Abos, kein Login
Pocket Pals: App-Icon mit einem fröhlichen Hund im Korallrot-Käfig unter einem kleinen Herz

App Ref 10

Pocket Pals

Ruhige Haustier-Simulation für Kinder von 6 bis 12 Jahren: Hund, Katze, Hase oder Hamster füttern, waschen, bürsten, kleiden, in vier Minispielen beschäftigen und ein kleines Zuhause mit Garten gestalten.

  • Kotlin
  • Jetpack Compose
  • Android
  • Offline
  • 6–12 Jahre
Technische Details

Spielprinzip: bewusster Gegenentwurf zu Free-to-Play-Kinderspielen. Das Tier kann weder sterben noch verloren gehen, es gibt keine Streaks, keine Daily Bonus, keine Push-Nachrichten und keine Werbung – jede Interaktion endet in einem kleinen liebevollen Effekt.

  • 4 Tiere mit Farben, Persönlichkeit und 16 Animationen, 4 Räume
  • 8 Futtersorten, 11 Spielzeuge, 14 Accessoires, 37 Dekorationen, 36 Sticker
  • 4 Minispiele: Ball, Blasen, Leckerli-Fangen und Versteckspiel
  • Freischaltungen und Sticker-Album als langsamer Fortschritt
  • Vier lokale Profile, Elternbereich per Rechenaufgabe geschützt
Architektur
Zentraler Spielzustand im GameStore, Kataloge enthalten nur Daten, das Minispiel-Register ist eine Klasse plus eine Zeile. Die Tier-Animation ist reine Mathematik und ohne Android testbar
Grafik & Audio
Tiere, Räume, Dekoration, Essen, Spielzeug, Sticker und Icons werden komplett mit Compose-Canvas gezeichnet, Audio auf dem Gerät berechnet – keine Bilddateien und keine Audiodateien im Spiel
Privacy
Kein INTERNET-Permission, keine Netzwerk-Bibliothek, kein Tracking, keine Analytics. Cloud-Backup und Geräte-Transfer sind abgeschaltet – der Spielstand eines Kindes verlässt das Gerät nicht
Tests
42 JVM-Unit-Tests in fünf Klassen (Zustand, Speicher, Freischaltungen, GameStore, Minispiele und Tier) plus instrumentierte UI-Tests für Onboarding und Spielablauf
Barrierefreiheit
Große Touch-Ziele, Bedienung über Icons und Animation, dunkler Text auf Creme, keine Information nur über Farbe. „Wenig Bewegung“ reduziert Bewegung zusätzlich zur Systemeinstellung
Monetarisierung
Einmalzahlung (0,99 €, Preis wird in der Play Console final festgelegt), keine Werbung, keine In-App-Käufe, keine Abos, kein Login
KOMOREBI: App-Icon mit einem dunklen Schattenpolygon vor einem bernsteinfarbenen Lichtschein, umgeben von Funken

App Ref 11

KOMOREBI

Tap-Tap-Arcade in einer Dämmerungs-Waldlichtung: Schatten treiben aus der Dunkelheit ins Bild, man tippt sie weg, hält die Kombo am Laufen und sammelt Gaben ein, bevor die Zeit abläuft. Acht Kapitel, danach ein Endlos-Modus.

  • Godot 4.7
  • GDScript
  • Android
  • GLES 3
  • Offline
Technische Details

Spielprinzip: Schatten antippen, bevor die Zeit abläuft – kein Leben, kein Herzverlust, nur die Uhr. Jedes Kapitel hat eine Soll-Zahl an Gegnern und ein Zeitlimit und vergibt bis zu drei Sterne über Score-Schwellen. Ein Stern ist das sichere Abschaffen, drei Sterne verlangen eine gehaltene Kombo.

Mechanik: Kombo mit 2,6-Sekunden-Fenster und Multiplikator bis ×9, kritische Treffer mit doppelten Punkten und kurzer Zeitlupe, Mehrfach-Treffer innerhalb von 0,3 Sekunden sowie drei Gaben – Sonnenstich (doppelte Punkte), Reif (alles fliegt langsamer) und Kette (die nächsten sechs Töte zünden durch). Fünf Gegnertypen verlangen unterschiedliche Aufmerksamkeit, vom einfachen Schatten bis zum Panzerschatten, der beim Tod alle Nachbarn mitnimmt.

Architektur
Godot 4.7 im GLES-3-Kompatibilitätsmodus, GDScript, Portrait-only. Regeln und Darstellung getrennt: arena.gd weiß nichts über Punkte oder Level, game_screen.gd nichts über Treffer-Geometrie – beide kommunizieren über Signale
Grafik
Vollständig prozedural gezeichnet: Gegner, Partikel, Ringe, Blitze, Sterne, Logo und der animierte Dämmerungs-Hintergrund. Einziger Fremdbestandteil ist die Schrift Inter (SIL OFL 1.1)
Audio
Alle 15 Effekte werden beim Start aus reinen Funktionen in AudioStreamWAV-Puffer gerendert – kein Audio-Asset, identisches Ergebnis auf jedem Gerät
Performance
Der Dämmerungsgrund wird mit 30 Hz in eine Textur gezeichnet, die Lichtschäfte als ein texturiertes Trapez statt als 48 gefüllte Streifen. Auf dem Emulator dadurch 60 statt 20 Bilder pro Sekunde bei identischem Bild
Tests
Das Spiel spielt sich headless selbst durch (--autoplay, --notap, --maxsec) und meldet Knopf- und Gegenpositionen inklusive Skalierung nach Logcat. Der automatisierte End-to-End-Test liest diese Werte statt Farben zu raten und prüft Screenshots als zweite Quelle – rund 40 Prüfschritte von App-Start bis Persistenz nach Neustart
Release
APK und AAB über ein Skript, install, run und test prüfen standardmäßig das Release-Artefakt. Der Signing-Key liegt lokal in signing/, ist ausgeschlossen und wird nicht als Debug-Key ersetzt
Privacy
Keine Berechtigungen, kein Internet, kein Server, kein Login, keine Werbung, keine In-App-Käufe, kein Tracking. Fortschritt, Sterne und Bestwerte liegen lokal in user://komorebi.cfg
Monetarisierung
Einmalzahlung, keine Werbung, keine In-App-Käufe. Der Upload zu Google Play ist noch nicht erfolgt
DailyHorse: lokales Command Center für den täglichen Entwicklungsalltag

Open Source · ISC Ref 12

DailyHorse

Lokales Work OS für Entwicklungsarbeit: Projekte, Research, OpenCode-Sitzungen, Dateien, SFTP, Systemstatus und optionale Dienste in einer bewusst auf den eigenen Rechner begrenzten Oberfläche.

  • React
  • TypeScript
  • Fastify
  • SQLite
  • Linux
Technische Details

Ansatz: DailyHorse verbindet tägliche Arbeitskontexte, ohne IDE, Mailclient oder Dateimanager ersetzen zu wollen. Nicht verfügbare Daten werden als Einrichtungs- oder Fehlerzustand gezeigt, nicht simuliert.

  • Today-Ansicht für Projekte, Research, Attention, Kalender, Mail und Systemsignale
  • Persistente OpenCode-Sitzungen und lokale PTY-Terminals mit Queue-Status
  • Freigegebene lokale Workspaces sowie SFTP mit Host-Key-Prüfung
  • Optionale Connectoren für GitHub, Google-Dienste, IMAP und KDE Connect
Frontend
React und Vite für eine lokale Weboberfläche; Chromium-Erweiterung als New-Tab- und Side-Panel-Begleiter
Backend
Fastify-Dienst auf Loopback, lokale Provider-Connectoren und WebSocket-basierte Arbeitsbereiche
Daten
SQLite für lokale Arbeits-, Sitzungs- und Synchronisationsdaten
Sicherheit
Keine öffentliche Serverbereitstellung; SFTP-Secrets über KDE Wallet, bekannte SSH-Host-Keys werden strikt geprüft
Lizenz
ISC, Quelltext öffentlich auf GitHub

Repository GitHub – Quellcode – öffnet in neuem Tab

KI Shorts Factory: Projektgrafik mit Thema, Skript, Stimme und Video

AI & AutomationRef 13

KI Shorts Factory

Eigenes Produktionswerkzeug für vertikale Kurzvideos: Thema, Skript, Stimme, Untertitel, Szenenbilder und Musik in einer nachvollziehbaren Pipeline.

  • Python
  • Streamlit
  • XTTS v2
  • Whisper
  • MoviePy
Technische Details

Ansatz: Neun sichtbare Produktionsschritte statt einer undurchsichtigen Generierung. Jeder Auftrag erhält einen eigenen Ergebnisordner und gespeicherten Status.

  • Thema, Stil, Länge und Stimme über das Dashboard wählen
  • Sprachausgabe und Wortzeitstempel für synchronisierte Captions
  • Szenenbilder, Videorendering und Musik als getrennte Schritte
  • Fortschrittsanzeige und verständliche Fehlermeldungen
Oberfläche
Streamlit-Dashboard mit Python-Pipeline
Medien
XTTS v2, Whisper und MoviePy
Grenzen
Je nach Konfiguration externe KI-APIs; keine vollständig offline arbeitende Anwendung. Fakten, Medienrechte und Ergebnis vor Veröffentlichung prüfen.

Projektgeschichte im Blog →

Haas Tax: Projektgrafik für Belege, Berechnung und Steuerprüfung, ohne echte Steuerdaten

Local First · SteuersoftwareRef 14

Haas Tax

Lokale Anwendung zur Vorbereitung der deutschen Einkommensteuererklärung und EÜR: Einkünfte, Abzüge, Belege und Plausibilitätshinweise ohne Cloud-Konto.

  • React
  • TypeScript
  • FastAPI
  • SQLite
  • Decimal
Technische Details

Ansatz: Steuerdaten verständlich strukturieren und fachliche Berechnung von Oberfläche und Datenbank trennen.

  • Einkommensteuer und Einnahmenüberschussrechnung vorbereiten
  • Lokale Belege mit Typ-, Größen- und Formatprüfung
  • Vollständigkeits- und Plausibilitätshinweise
  • PDF-Übersicht, tabellarischer Export und verschlüsselte Backups
Architektur
React-/TypeScript-Frontend, FastAPI und SQLite; Server ausschließlich auf Loopback
Rechenwerk
Decimal-Geldbeträge und versionierte YAML-Regeln pro Steuerjahr
Grenzen
Keine echte ELSTER-Übermittlung; ersetzt keine steuerliche Beratung. Nicht vollständig abgebildete Sachverhalte gesondert prüfen.

Projektgeschichte im Blog →

Haas Finance: Projektgrafik für Konten, Budgets und Sparziele, ohne echte Finanzdaten

Local First · FinanzverwaltungRef 15

Haas Finance

Persönliches Finanzzentrum auf dem eigenen Rechner: Konten, Buchungen, Budgets, Fixkosten, Verträge und Sparziele mit geprüften Importen und nachvollziehbaren Auswertungen.

  • React
  • TypeScript
  • FastAPI
  • SQLite
  • Local First
Technische Details

Ansatz: Tatsächliche Buchungen, Haushaltsplanung und Prognosen getrennt halten und in einem verständlichen Arbeitsablauf verbinden.

  • Konten, Split-Buchungen, Budgets, Verträge und Sparziele
  • CSV-/Excel- und Kontoauszugsimport mit Vorschau und Dublettenprüfung
  • Auswertungen und Prognosen mit offengelegten Annahmen
  • Offline-Berichte und verschlüsselte Sicherung mit Wiederherstellung
Architektur
React-/TypeScript-Produktionsbuild und FastAPI auf einem lokalen Server; SQLite als Datenbasis
Sicherung
scrypt und AES-256-GCM für verschlüsselte Backups
Grenzen
Ein Haushalt, EUR, keine Banksynchronisation oder Live-Kurse. PDF-Import abhängig vom Layout; Prognosen sind keine Finanzberatung oder Garantie.

Projektgeschichte im Blog →

Eigenprojekt · In EntwicklungRef 16

Klärwerk Pflege

Eine eigene Entwicklung für ambulante Pflegedienste: Dokumente, Rückfragen, Zuständigkeiten und Fristen sollen in einem nachvollziehbaren Vorgang zusammenlaufen.

  • Pflegeorganisation
  • Next.js
  • TypeScript
Ansatz und Projektstand

Mein Beitrag: Produktkonzept, Gestaltung und Entwicklung einer Webanwendung, die meine Erfahrung in Pflege, Außendienst und Pflegedienstleitung mit digitaler Organisation verbindet.

Zielbild

  • Dokumente und Rückfragen einem gemeinsamen Vorgang zuordnen
  • Zuständigkeiten, Fristen und nächste Schritte verständlich sichtbar machen
  • Verwaltung, Pflegedienstleitung und Geschäftsführung bei der Abstimmung unterstützen
Architektur
Next.js, React und TypeScript; Prisma für den Datenzugriff im lokalen Projektstand
Stand
Eigenprojekt in Entwicklung. Die Referenz beschreibt Zielbild und technischen Ansatz, keine produktiv eingesetzte Kundenlösung.
Verantwortung
Fachliche Prüfung und der verantwortliche Umgang mit sensiblen Pflegedaten bleiben beim zuständigen Team.

Hintergrund und Pflegepraxis im Blog →

Eigenprojekt · Lokale DemoRef 17

Projektklar

Zusätzliche Kundenwünsche vor der Zusage einordnen: Eine interaktive Vertriebsdemo zeigt den Weg vom vereinbarten Angebot zur nachvollziehbaren Abstimmung von Zusatzleistungen.

  • React
  • TypeScript
  • Vite
Demo und Grenzen

Mein Beitrag: Produktkonzept, Gestaltung und Umsetzung einer lokalen Vertriebsdemo für den Umgang mit zusätzlichen Kundenanforderungen.

  • Angebotsgrundlage und neuen Kundenwunsch im selben Ablauf betrachten
  • Vorbereitete Belegstellen prüfen und Einordnungen menschlich bestätigen
  • Eigene Aufwandsschätzungen kalkulieren und einen Antwortentwurf bearbeiten
  • Entscheidungen mit Bezug auf die Angebotsversion dokumentieren
Architektur
React, TypeScript und Vite; lokale Browserdaten statt Backend und Registrierung
Stand
Lokale Vertriebsdemo mit fiktiven Projektdaten und vorbereiteter Beispielauswertung. Keine Live-KI.
Grenzen
Eigene Texte bleiben ohne belastbare automatische Klassifikation klärungsbedürftig. Aufwandsschätzungen und Kundenfreigaben werden vom Team erfasst; die Demo ersetzt keine fachliche oder rechtliche Vertragsbewertung.

Ablauf und Beispielkalkulation im Blog →

Eigenprojekt · KonzeptphaseRef 18

AgentFlow

Konzept für die Zusammenarbeit von Menschen und spezialisierten KI-Agenten: Aufgaben, Abhängigkeiten und Ergebnisse sollen auf ein gemeinsames Projektziel ausgerichtet werden.

  • KI-Orchestrierung
  • Projektplanung
  • Menschliche Freigaben
Konzept und Verantwortung

Mein Beitrag: Konzeption eines gemeinsamen Arbeitsablaufs für Projektteams und KI-Agenten – von der Zielbeschreibung bis zur Prüfung der Ergebnisse.

Vorgesehener Ablauf

  • Ziele und Erfolgskriterien gemeinsam festlegen
  • Roadmaps, Meilensteine und Sprints in konkrete Aufgaben übersetzen
  • Geeignete Aufgaben parallel bearbeiten und Abhängigkeiten berücksichtigen
  • Ergebnisse im Projektkontext prüfen und durch Menschen freigeben
Technischer Ansatz
Lokaler Projektansatz mit Next.js, React, TypeScript und Prisma als Grundlage
Stand
Konzeptphase. Beschrieben werden angestrebte Abläufe, keine produktiv erprobte automatische Projektabwicklung.
Verantwortung
Bearbeitete Aufgaben sind noch kein Beleg für ein erreichtes Geschäftsziel. Das Team prüft Qualität, Prioritäten und Erfolgskriterien.

Konzept der Zusammenarbeit im Blog →

Eigenprojekt · Lokaler MVPRef 19

BriefWerk

Fachkorrespondenz mit lokaler KI: Schreiben analysieren, interne Wissensquellen heranziehen und Antwortentwürfe zur menschlichen Prüfung und Freigabe vorbereiten. Kein automatischer Versand.

  • Next.js
  • FastAPI
  • PostgreSQL
  • Ollama
Architektur, Demo und Grenzen

Mein Beitrag: Konzeption und Entwicklung eines lokalen MVP für Redaktionen, Abgeordnetenbüros, Fraktionen, Verbände und Fachabteilungen – mit getrennten Schritten für Analyse, Belegprüfung und Freigabe.

  • Text, PDF, DOCX und Bilder erfassen; lokale Texterkennung mit Tesseract
  • Freigegebene interne Quellen semantisch durchsuchen und Fundstellen sichtbar machen
  • Fachprofile für Aufgabenbereich, Tonalität, Textbausteine und Prüfkriterien verwalten
  • Entwurfsversionen menschlich prüfen und nach dem Vier-Augen-Prinzip freigeben
  • Antwortentwürfe als DOCX, PDF oder TXT exportieren, ohne Versandfunktion
Architektur
Next.js 15, React und TypeScript; FastAPI und Pydantic v2; PostgreSQL 17 mit pgvector und eigenem Hintergrund-Worker
Lokale KI
Ollama für Inferenz und Embeddings; im beschriebenen Betrieb kein Cloud-KI-Fallback und keine automatische Internetrecherche
Prüfprozess
Fundstellenabgleich, sichtbare Prüfhinweise und versionsgebundene Freigabe. Ungeklärte Hinweise müssen geklärt oder begründet menschlich quittiert werden.
Stand
Funktionsfähiger MVP mit ausschließlich synthetischen Demoansichten. Kein produktionsreifes oder zertifiziertes Produkt.
Grenzen
Keine Entscheidungen über Personen und keine politischen Gesinnungsprofile. Modellqualität, Rechenzeit, Datenschutz und Betrieb müssen im Zielkontext geprüft werden. Last-, Wiederherstellungs- und rechtliche Prüfungen sind nicht abgeschlossen.
Lizenz
MIT-Lizenz für Anwendung und Projektmarke; keine Aussage über eine Zertifizierung oder Einsatzfreigabe

Arbeitsablauf und Grenzen im Blog →