Verfügbar für Projekte

Software und die Maschinen, auf denen sie läuft.

Ich entwickle Anwendungen für Android und Web, erweitere sie bei Bedarf um native Bausteine, schreibe die Dienste dahinter selbst — und betreibe die Infrastruktur, auf der das Ganze läuft, vollständig reproduzierbar.

20+ausgelieferte Anwendungen
100 %Infrastruktur als Code
0fremde Cloud-Dienste
7Sprachen im aktiven Einsatz
01 — Ansatz

Wenige Abhängigkeiten, nachprüfbare Ergebnisse.

Vier Grundsätze, nach denen ich arbeite. Sie sind nicht aus einem Buch, sondern aus dem, was sich über Jahre als tragfähig erwiesen hat.

01

Reproduzierbar statt gewachsen

Jeder Rechner, den ich betreue, ist vollständig aus seiner Konfiguration wiederherstellbar. Kein Zustand, der nur in jemandes Erinnerung existiert, keine Handgriffe, die niemand dokumentiert hat. Neu aufsetzen ist ein Vorgang von Minuten, nicht von Tagen.

02

Wirkung prüfen, nicht Zustand

Eine Sperre gilt erst als wirksam, wenn ein echter Testfall an ihr gescheitert ist. Eine Zustellung erst, wenn die Nachricht nachweislich angekommen ist. „Müsste jetzt funktionieren" ist kein Ergebnis, sondern eine Vermutung.

03

Sparsam mit Fremdcode

Viele meiner Anwendungen kommen ohne eine einzige Fremdbibliothek aus — Netzwerk, Datenhaltung und Zeichnung von Hand, gegen die Standardbibliothek. Das kostet anfangs mehr und spart später jede Migration, jede Sicherheitslücke und jede aufgegebene Abhängigkeit.

04

Daten bleiben, wo sie hingehören

Alles, was ich betreibe, läuft auf eigener Hardware unter eigener Kontrolle. Kein Analysedienst, kein Absturzmelder an Dritte, keine Konten bei Anbietern, die morgen ihre Bedingungen ändern.

02 — Können

Von der Oberfläche bis zum Dateisystem.

Was ich in fertigen Anwendungen umgesetzt habe — beschrieben nach Aufgabe und Technik, nicht nach Auftraggeber.

Mobile Anwendungen

Vollständige Android-Anwendungen von der ersten Zeile bis zum signierten Paket: Zustandsverwaltung, lokale Datenbanken, Hintergrunddienste, Benachrichtigungen, eigene Zeichenflächen. Auch als Startbildschirm-Ersatz oder mit direktem Durchgriff auf plattformnahe Schnittstellen.

FlutterDartKotlinSQLiteRiverpod

Native Erweiterungen

Wo eine verwaltete Laufzeit nicht reicht, binde ich Kernlogik in Rust an — über Fremdfunktionsschnittstellen auf dem Gerät und als WebAssembly im Browser. Ein Kern, zwei Ziele, identisches Verhalten. Einschließlich Bilderkennung und kryptografisch überprüfbarer Nachweise.

RustFFIWebAssemblyOCR

Dienste und Schnittstellen

Eigene Server für Abgleich zwischen Geräten, Sitzungsverwaltung und Datenhaltung — häufig gegen die reine Standardbibliothek geschrieben, ohne Rahmenwerk. Dazu die passenden Weboberflächen, wo ein Browser der bessere Zugang ist als eine App.

PythonHTTP/JSONPostgreSQLWebSocket

Server und Betrieb

Aufsetzen und Führen eigener Maschinen: verschlüsselte gespiegelte Datenträger, abgeschottete virtuelle Gäste für fremden Code, Zugriff ausschließlich über geschlossene Netze, automatische Zertifikate, Sicherungen mit erprobtem Rückweg.

NixOSLinuxbtrfsLUKSCaddy

Werkzeugbau

Wenn ein Ablauf sich dreimal wiederholt, baue ich das Werkzeug dafür: Erzeuger, die Konfiguration schreiben statt sie zu verwalten, Prüfläufe, die vor jedem Bau greifen, und Oberflächen, die auch dann verständlich bleiben, wenn man sie ein halbes Jahr nicht angefasst hat.

NixCodeerzeugungTestläufeCLI

Netze und Zugang

Geräte über Standorte hinweg verbinden, ohne sie ins offene Netz zu stellen: vermaschte Netze, Weiterleitungen durch fremde Firewalls hindurch, Zwei-Faktor-Anmeldung bis auf den Anmeldebildschirm, saubere Trennung zwischen dem, was von außen erreichbar ist, und dem Rest.

WireGuardMesh-VPNSSHTOTP
03 — Betrieb

Diese Seite ist selbst der Beleg.

Was Sie gerade lesen, liegt auf einer Maschine, die ich selbst aufgesetzt habe und verwalte. Kein Baukasten, kein Hoster-Panel, keine fremde Plattform.

Vollständig aus einer Quelle

Betriebssystem, Dienste, Oberfläche und diese Seite entstehen aus einer versionierten Beschreibung. Ein Rückschritt auf einen früheren Stand ist ein Neustart, keine Reparatur.

Verschlüsselt und gespiegelt

Die Datenträger sind verschlüsselt und laufen im Verbund. Sicherungen werden nicht nur geschrieben, sondern regelmäßig zurückgeholt — eine Sicherung ohne erprobten Rückweg ist keine.

Kleine Angriffsfläche

Nach außen sind genau drei Zugänge offen. Alles zur Verwaltung liegt in einem geschlossenen Netz und ist von außen nicht einmal sichtbar. Zertifikate erneuern sich selbst.

04 — Werkzeugkasten

Womit ich arbeite.

Nicht alles gleich tief, aber alles davon im echten Einsatz gewesen.

Sprachen

  • Dart
  • Python
  • Rust
  • Kotlin
  • Nix
  • Bash / Shell
  • JavaScript

Anwendung

  • Flutter (Android, Web)
  • Zustandsverwaltung
  • SQLite / sqflite
  • Eigene Zeichenflächen
  • Hintergrunddienste
  • Plattformkanäle

Server

  • NixOS, Linux
  • systemd
  • Caddy, Reverse-Proxy
  • PostgreSQL, SQLite
  • btrfs, LUKS
  • Virtualisierung

Arbeitsweise

  • Git
  • Automatisierte Prüfläufe
  • Reproduzierbare Bauten
  • Deklarative Verwaltung
  • Fehlersuche am laufenden System

Reden wir darüber.

Ob Anwendung, Schnittstelle oder ein Server, der endlich verlässlich laufen soll — schreiben Sie mir, was Sie vorhaben.