Eine Mängelliste, die du vom Handy aus führst

Christian Drexler

Der Schrank, der nicht richtig schließt, wird einmal erwähnt, laut, im Regen, mitten in etwas anderem. Niemand schreibt es dort auf, wo es hingehört, und drei Monate später taucht es als Überraschung wieder auf. Jede Werkstatt, jede Ferienwohnung, jedes Haus und jedes Boot hat so eine Liste, und die Liste steckt in irgendjemandes Kopf.

Ich habe das kleinste Ding gebaut, das die Lücke in dem Moment schließt, in dem sie aufgeht. Es lebt in OpenBoat, meiner Open-Source-Skipper-Schicht, aber nichts daran ist bootspezifisch.

Was es ist

Ein Python-Prozess liefert eine einzige Seite im lokalen Netz aus. Du öffnest die Adresse auf irgendeinem Handy im selben WLAN, wählst das Ding, zu dem der Mangel gehört, fotografierst es, tippst einen Satz, schickst ab. Zehn Sekunden, und du stehst dabei genau dort, wo der Mangel ist. Die Seite hängt einen Eintrag an eine Markdown-Datei und legt das Foto daneben. Das ist die ganze Funktion.

## 2026-10-03 14:12 · Schrank bei der Toilette rastet nicht ein

**Status:** offen
**Foto:** snags/2026-10-03-1412.jpg
**Ungeprüft:** vom Handy erfasst, noch von niemandem kontrolliert.

Tür schwingt auf Backbordbug auf. Schließblech sieht verbogen aus.

Nur anhängen, mit Absicht

Die Funktion, die den Eintrag schreibt, fügt immer nur eine neue Überschrift am Ende der Datei hinzu. Es gibt keinen Codepfad, der etwas bearbeitet oder umsortiert. Der Status eines Mangels ändert sich trotzdem, aber von Hand, am Schreibtisch, durch eine Person mit Namen: aus **Status:** offen wird **Status:** erledigt, Schließblech getauscht, 2026-10-12. Einen Mangel zu schließen ist eine bewusste Handlung mit einer Notiz dran, kein Tippen in der nassen Jackentasche.

Die Seite, die die offenen Mängel zeigt, ist ein Parser über dieser Datei, keine Datenbank daneben. Hätte sie ihre eigene Kopie, würde ein Mangel, den du gerade repariert und aufgeschrieben hast, weiter als offen erscheinen. Ein Wartungsprotokoll, das lügt, ist schlimmer als keins. Was der Parser nicht versteht, wird übersprungen statt geraten. Ein Eintrag ohne Statuszeile gilt als offen, mit der Begründung, dass etwas, das jemand aufgeschrieben und nie markiert hat, auch von niemandem geschlossen wurde.

Die Zeile "ungeprüft"

Jeder Eintrag trägt den stehenden Hinweis, dass er im Moment des Bemerkens vom Handy erfasst und seitdem von niemandem bestätigt wurde. Das ist der ehrliche Status von "der Besitzer hat es gesagt". Und es macht die Datei sicher genug, sie einem Assistenten zu geben, ob Mensch oder Maschine: Wer liest, sieht genau, wie sicher er sein darf.

Warum Markdown und keine App

Weil die Datei die App überlebt. Wenn ich die Seite irgendwann nicht mehr pflege, ist die Liste immer noch eine Textdatei in einem Ordner, auf allem lesbar, mit grep durchsuchbar, mit git versioniert, wenn du magst. Das Foto liegt mit Datum im Namen daneben. Nichts an dem Protokoll hängt davon ab, dass ein Server läuft oder eine Firma existiert.

Wenn du so etwas für deinen eigenen Ort willst: ein Formular mit drei Feldern, eine Funktion, die an eine Datei anhängt und sich weigert, irgendetwas anderes zu tun, und eine zweite Funktion, die die Datei zurückliest. Ein Nachmittag, und der Schrank wird endlich repariert.