
Huch! Ein neuer Beitrag. Wie kann das sein?
Tja, ich hab mal den Arsch hochbekommen und was Neues ausprobiert: vibe coding.
Vibe Coding (oder Vibecoding) ist eine Programmiertechnik, welche sich ganz auf Künstlicher Intelligenz (KI) zum Generieren des Quellcodes verlässt und somit Programmierung auch für Unerfahrene zugänglich macht.
https://de.wikipedia.org/wiki/Vibe_Coding
Seit vielen Jahren trage ich eine Idee für eine App mit mir herum, die zwar in der Zwischenzeit grundsätzlich überflüssig geworden ist, aber dennoch ein Projekt, welches ich immer mal umsetzen wollte. Bisher haperte es einfach an der Zeit, mehr noch aber an der Fähigkeit, eine solche Idee umzusetzen.
Ja, ich kann ein wenig programmieren, aber ein komplettes Projekt von Null auf? Da hätte ich vermutliche Monate, wenn nicht gar Jahre dran gesessen.
Dann kamen ChatGPT, Claude, Gemini, Deepseek und Co um die Ecke und plötzlich gab es Möglichkeiten, Code einfach aus einem für Menschen lesbaren Text zu erstellen. Fantastisch. Aber auch ziemlich nervig, weil man immer hin- und herkopieren musste, dies das.
Irgendwie wurde dann plötzlich Cursor bekannt, gewann an Popularität und spätestens jetzt musste ich das mal ausprobieren.
Vorbereitungen
Also hab ich mir den Kram installiert, ein Abo für ca. 20 € für einen Monat abgeschlossen, mein Projekt „PeeBase“ textlich umrissen und von deepseek als Anforderung ausformulieren lassen.
Dabei war mir besonders wichtig, dass die App im klassischen PHP-Stack (HTML/CSS/JS fürs Frontend, PHP für die Logik und MariaDB für die Daten) erstellt wird, damit ich was lerne, verstehe was die KI macht und ggf. eingreifen kann, sollte mal etwas nicht klappen. Gerade die letzten beiden Punkte sollten mich noch lange beschäftigen.
Zusätzlich habe ich mir im Vorfeld einen Projekt-Ordner in XAMPP und eine neue mariaDB angelegt.
First things first: Was soll PeeBase sein?
PeeBase ist als Web-App gedacht, die Menschen hilft, öffentliche Toiletten in ihrer Umgebung zu finden.
Die Hauptfunktionen sind:
- Eine interaktive Karte, die alle Toiletten in der Umgebung des aktuellen Standorts oder einer bestimmten Adresse anzeigt
- Registrierung von neuen Nutzer:innen
- Toiletten hinzuzufügen
- Toiletten bewerten
- Toiletten melden
- Ein Admin-Bereich zur Verwaltung von Toiletten, Nutzer:innen, Bewertungen und Meldungen
Wie eingangs schon erwähnt, ist diese App eigtl. total überflüssig, weil sämtliche gängige Karten-Apps (Google Maps, Apple Karten, OpenStreetMap etc.) eigtl. genau diese Funktionen ebenfalls beinhalten. Aber die Idee ist halt schon wirklich alt und sehr lange in meinem Kopf. Damals gab’s das alles noch nicht im heutigen Umfang und am Ende sind dedizierte Apps manchmal einfach doch besser. Und ein gutes Test-Projekt ist es eben auch.
Du kannst nicht programmieren lernen, wenn Du kein Projekt hast
ein weiser Mensch, Tim F.
Abfahrt!
Gut, ich hab also der KI in Cursor meine Vorstellung von PeeBase mitgeteilt und das Ding fing an, Ordner und Dateien anzulegen. Das hat schon ein paar Minuten gedauert.
Danach wurde ich angewiesen, die Tabellen mittels erzeugter schema.sql in der mariaDB anzulegen, ein paar Abhängigkeiten per composer zu installieren und dann solle ich die App nutzen können.
Ich importierte also die schema.sql, setzte mich mit composer auseinander, rief danach zum ersten Mal die neue App auf und…
… wurde herbe enttäuscht.
Zwar sah ich ein rudimentäres Grundgerüst, aber mit einer vollwertigen Web-App, die vllt. nur Basisfunktionen hat, sah das nicht aus. Stattdessen gab es viele Fehlermeldungen.
Nachdem ich mich ein wenig mit der KI, der Struktur des Projektes und dem Code vertraut gemacht, einen neuen vHost für XAMPP angelegt und ein paar Anpassungen der composer.json vorgenommen hatte, lief die App dann auch.
Das hat mich aber wirklich ein paar Stunden und graue Haare gekostet.
Jemand, der von der Materie absolut keine Ahnung hat, hätte hier vermutlich schon aufgegeben und den Kopf in den Sand gesteckt.
We’re vibing, aren’t we?
Nachdem die anfänglichen Hürden genommen waren, lief es mit Cursor und mir eigentlich ganz gut: wir ergänzten Features, behoben Fehler, passten das Layout an und so weiter.
Naja, ganz so sutje lief es tatsächlich nicht.
Nope, we’re not!
Viel zu oft, macht die KI immer und immer wieder die selben Fehler.
Wurde z.B. ein neues Feature hinzugefügt, hat die KI zwar den sog. View und den entsprechenden Controller angelegt, aber in den meisten Fällen vergessen, die Router in der entsprechenden Datei zu ergänzen.
Ebenso kam es sehr häufig vor, dass sich der KI-Agent erlaubt hat, nicht nur die Aufgabe, die ich per Prompt definiert hatte, umzusetzen, sondern darüber hinaus noch weitere Anpassungen vorzunehmen. Da willste zum Beispiel nur die Farbe eines Buttons ändern und plötzlich fehlen zwei Tabellenspalten und eine dritte wurde umbenannt, während auch noch die Optik angepasst wurde, „weil es nutzerfreundlicher ist“.
Beliebte Gags waren auch:
- Funktionen und/oder Methoden, die nicht existieren zu halluzinieren, obgleich die gesuchten Funktionen/Methoden in der zu bearbeitenden Datei existieren
- Dateien für vermeintlich fehlende Inhalte zu erstellen, obgleich diese bereits existieren
- sich bei der Lösungssuche festfahren und einen Endlos-Dialog führen
- immer und immer wieder „vergessen“ in welchen Variablen entsprechende Werte gespeichert sind
Es war ganz schön anstrengend, die KI da im Griff zu halten bzw. die Code-Änderungen zu prüfen und zu entscheiden, ob man sie freigibt oder nicht.
Teilweise mussten, weil ich nicht aufgepasst habe, ganze Abschnitte „reverted“ werden, um wieder zu einer funktionierenden App zu kommen.
Das waren dann die Momente, in denen ich froh war, ein wenig von dem Geschiss zu verstehen, welches ich da zusammen mit Cursor verzapft habe. Nicht selten habe ich, weil die Geduld verloren, den Code einfach selbst angepasst – so denn ich wusste, wie.
Lästig, einfach nur lästig. Und zeitraubend.
Yes, we are ♥
Irgendwann läuft’s dann aber recht fluffig, weil man den Bogen einigermaßen raus hat und weiß, welche Art von Prompt zu welchem (unerwünschten) Ergebnis führen kann. Oder, weil es gerade einfache, gut zu interpretierende Aufgaben sind, die man umgesetzt haben möchte.
Das ist dann der Punkt, ab dem es anfängt wirklich Spaß zu machen und man versteht, wie sich der Begriff vibe coding etablieren konnte: Mucke auf die Ohren und gemeinsam mit der KI an einem unsinnigen Projekt arbeiten und sehen, wie es nach und nach wächst.
Schon toll 🤩
Was ich gelernt habe
- KI ist ein mächtiges Werkzeug, aber kein Zauberstab
- Grundlegende Programmierkenntnisse sind Gold wert
- Klare, präzise Anweisungen sparen Zeit und Nerven
- Man muss den generierten Code immer prüfen
- es macht trotzdem irgendwie Spaß
Fazit
Würde ich es wieder machen? Absolut! Die Kombination aus meinem Grundwissen und der KI-Unterstützung hat es mir ermöglicht, in wenigen Tagen eine (halbwegs) funktionsfähige App zu entwickeln.
Klar gab’s Frustmomente, aber die gibt’s beim „normalen“ Programmieren auch. 😉
Der größte Unterschied? Mit KI fühlt sich Entwicklung irgendwie wie eine Zusammenarbeit an. Man muss zwar immer noch wissen, was man will und sollte die Basics verstehen, aber man muss nicht jede einzelne Zeile Code selbst schreiben und kann jemanden anmaulen, wenn’s nicht klappt. Mag ich.
ABER
Weiß ich, ob der Code, der generiert wurde sicher ist?
Hat die KI vllt. unbeabsichtigt Hintertüren eingebaut?
Liegen am Ende irgendwelche Nutzerdaten für alle zugänglich auf meinem Webserver?
Keine Ahnung!
Und im Grunde ist genau deshalb dieses Selbstexperiment ein gutes Indiz dafür, dass KI erstmal keine menschlichen Programmierer:innen ersetzen können wird.
Macht trotzdem Spaß.
PS: Sollte PeeBase jemals fertigwerden, werde ich berichten 🤪
Wenn Dir dieser Beitrag geholfen hat und/oder Du mich finanziell unterstützen magst, kannst Du dies gerne per Paypal machen.
Alternativ kannst Du Dir meinen Amazon-Partnerlink in die Favoriten legen und Amazon bei Deinen zukünftigen Einkäufen darüber aufrufen:
Es entstehen Dir dadurch keine Mehrkosten, ich erhalte aber eine kleine Provision.
Über einen Kommentar freue ich mich natürlich auch :-)

Jan B-Punkt

Neueste Artikel von Jan B-Punkt (alle ansehen)
- Vibe Coding ausprobiert - 10. April 2025
- Adventskalender Gewinnspiele 2024 - 1. Dezember 2024
- Freie News für freie User – Schneller als die Paywall - 22. April 2024
- Adventskalender Gewinnspiele 2023 - 1. Dezember 2023
- Angespielt: Starship Troopers: Extermination - 19. Mai 2023