Meinung
Das Ende der Software von der Stange?
Meine Homebanking-Software hat mir die Freundschaft gekündigt. Nach einem Jahr Nutzung verlangt der Hersteller eine neue Lizenzgebühr, und weil das Verlängern aufwendig ist, habe ich es so lange hinausgezögert, bis mir das Programm schließlich mitgeteilt hat, dass es nicht mehr läuft.
Ganz ungelegen kam mir das allerdings nicht, denn ich stand sowieso vor einer unschönen Entscheidung: Die Software gibt es nur für Windows, und da ich inzwischen auf Linux umgestiegen bin, hätte ich sie nur noch in einer virtuellen Maschine betreiben können, was keine gute Lösung ist. Dazu kamen einige Kleinigkeiten, die mich schon länger gestört hatten, etwa dass man die Umsätze nicht vernünftig filtern kann und dass sich das Programm nie so bedienen ließ, wie ich es gerne gehabt hätte.
Also habe ich mir gedacht: Wie schwer kann es schon sein, so ein Programm selbst zu schreiben, oder genauer gesagt, es von Claude Code schreiben zu lassen?
Die Idee
Für den Hausgebrauch ist eine Homebanking-Software im Grunde eine sehr einfach strukturierte Datenbank. Darin stehen die Banken, bei denen man ein Konto hat, die Umsätze, eine Liste der Zahlungsempfänger, an die man häufiger überweist, und die Überweisungen, die man schon erfasst, aber noch nicht an die Bank geschickt hat. Mehr braucht man eigentlich nicht. (Ich habe mir trotzdem den Luxus gegönnt, meine Version mandantenfähig zu machen, damit mehrere User ihre Daten getrennt voneinander verwalten können.)
Die einzige echte Schwierigkeit sind die Protokolle, über die das Programm mit den Banken spricht, und von denen gibt es leider mehrere, eines unsäglicher als das andere. Glücklicherweise haben sich damit schon andere herumgeschlagen. Bei deutschen Banken ist das wichtigste Protokoll FinTS, und da ich mit Python und Django schon Erfahrung habe, brauchte ich nur noch eine FinTS-Bibliothek für Python. Genau so eine gibt es mit python-fints. Sie ist ein Open-Source-Projekt, das im Wesentlichen zwei Entwickler geschrieben haben, und scheint ganz gut zu funktionieren.
Das Ergebnis
Für das ganze Projekt hatte ich mir ursprünglich 1,5 Stunden gegeben. Das war natürlich extrem ehrgeizig, und ich habe selbst nicht wirklich geglaubt, dass ich das Limit einhalten kann: eine komplette Software in so kurzer Zeit, noch dazu auf einem Gebiet, von dem ich keine Ahnung hatte. Trotzdem wollte ich es versuchen, und gerade das knappe Limit hat für mich den Reiz ausgemacht.
Am Ende habe ich das Zeitbudget zwar überschritten, aber nach 3 Stunden hatte ich mit Claude Code (Claude Opus 5.5 auf der Effort-Stufe xhigh) eine funktionierende Homebanking-App, die meine Umsätze abholt und sie komfortabler filtern kann als das alte Programm. Überweisungen soll sie auch verschicken können, das habe ich aber noch nicht ausprobiert. Nicht mehr geschafft habe ich in der Zeit das HBCI-Verfahren mit Schlüsseldatei, das python-fints nicht unterstützt und das ich deshalb selbst nachrüsten müsste. Mit etwas Polish für ein modernes UI kamen insgesamt 5 Stunden zusammen.
Fairerweise muss man sagen, dass meine App nur einen Bruchteil dessen beherrscht, was das Original kann. Lässt man aber alles weg, was ich ohnehin nicht brauche, dann kann sie in dem Teil, den sie schon abdeckt, mehr als das Original.
Die Einwände
Natürlich kann man sich fragen, ob man ausgerechnet eine Software, bei der es um Geld geht, in Eigenregie bauen sollte. Wenn sich bei einer Überweisung eine Null zu viel einschleicht, kann das im Zweifel teuer werden. Allerdings zeigen die gängigen TAN-Verfahren Betrag und Empfänger vor der Freigabe noch einmal an, sodass eine solche Null spätestens dort auffallen sollte. Dieser Schutz ist also schon eingebaut, und vielleicht lassen sich in der eigenen Software noch weitere Sicherungen ergänzen. Darüber muss ich mir aber noch Gedanken machen.
Das Risiko mit dem Geld ist vielleicht das stärkste Argument gegen den Eigenbau, und bei anderer Software fällt es ganz weg: Wenn ich mir zum Beispiel einen eigenen MP3-Player schreiben lasse und der nicht richtig funktioniert, klingt die Musik eben schlecht, und ich kann selbst nachbessern.
Dabei ist auch gekaufte Software nicht fehlerfrei. Mein bisheriger Hersteller hat mir in der Vergangenheit öfter Ärger gemacht: Hin und wieder funktionierten seine Server nicht, sodass ich nicht überweisen konnte, und manche Überweisungen, die ich aufgegeben hatte, sind gescheitert, ohne dass ich erfahren habe, warum. Vernünftige Logfiles, in denen ich hätte nachsehen können, gab es nicht. In solchen Fällen ist man dem Hersteller auf Gedeih und Verderb ausgeliefert und kann sich selbst nicht helfen.
Bei der eigenen Software gibt es keinen Herstellerserver, der ausfallen kann, und die Logfiles sehen so aus, wie ich sie brauche. Darüber hinaus kann ich jeden Wunsch umsetzen, ohne auf einen Hersteller angewiesen zu sein.
Ein echter Nachteil bleibt: Ohne Programmiererfahrung lässt sich das, was ich hier gemacht habe, heute noch nicht nachmachen. Die Frage ist allerdings, wie weit Laien davon noch entfernt sind und wie lange es dauert, bis auch sie das können. Meiner Beobachtung nach werden die Programme, die Claude Code auf Zuruf gut umsetzt, immer größer, auch wenn man selbst technisch keine Ahnung hat. Auch bei meiner Homebanking-App habe ich vieles gar nicht spezifiziert, und Claude hat diese Lücken von sich aus gut gefüllt. Dazu kommt, dass die Qualität des Codes, den Claude mir in den letzten Monaten geliefert hat, schlicht fantastisch ist.
Was bleibt den Softwarehäusern?
Ohne Claude hätte ich für diese App wohl 2 Wochen gebraucht, und weil ich meine Zeit, wie oben gesehen, gerne unterschätze, eher 4. Gegenüber den 5 Stunden ist das grob Faktor 20, und dieser Faktor steigt von Monat zu Monat weiter.
In einer Welt, in der sich Anwendungen dieser Größenordnung so schnell und in so hoher Qualität schreiben lassen, wird es für Firmen, die technisch simple Produkte verkaufen, immer schwerer, am Markt überhaupt noch ein Argument zu haben. Warum sollte ich jedes Jahr eine Lizenz für ein Programm bezahlen, das ich mir in ein paar Stunden selbst bauen lassen kann, und zwar genau so, wie ich es haben will?
Die Frage, die sich jedes Softwarehaus stellen muss, lautet deshalb: Was kann es morgen noch liefern, was Claude Code nicht schon kann?