Ein Vibecoding-Experiment: ein Arten Tracker basierend auf GBIF-Daten

Während meiner Reise in Nicaragua habe ich abends ein Video von Keno (Jan-Keno Janssen) – Redakteur bei Heise – voller Faszination geschaut. Keno demonstriert hier fast in realtime, wie er ein Programm vibe-coded, das Rezepte aus Social Media Posts extrahiert. Vibe Coding bezeichnet das Programmieren mit KI.

Keno ist natürlich technisch sehr versiert aber beherrscht nach eigenen Angaben keine praktischen Programmierfähigkeiten. Trotzdem gelingt es ihm (allerdings unter Aufsicht eines durchaus versierten Programmierers) das Programm relativ schnell zu vibe-coden. Es ist nicht perfekt aber man könnte es als einen funktionierenden Prototypen bezeichnen.

Ich habe auch immer wieder mal Ideen, die ich gerne in Software umsetzen und automatisieren würde. Ich brauche z.B. immer wieder Information über die Verbreitung von Arten. Dies können sogenannte Neobiota bzw. invasive Arten sein (Kanadagans, Asiatische Hornisse) oder andere Arten mit dynamischer Entwicklung (Europäischer Biber). Ein anderes interessantes Thema sind Arten, die Gegenstand von Naturschutzprojekten sind (Wildkatze).

Dabei möchte ich automatisch einen Überblick über die aktuelle Datenlage aber auch die zeitliche Entwicklung haben und zwar auf mehreren relevanten geografischen Ebenen (Global, national, bis zur Kommune).

Ein möglicher manueller Weg wäre es zur GBIF-Datenbank zu gehen, die Daten herunterzuladen und dann in QGIS daraus eine Karte zu machen. Da sich die Daten in GBIF ständig aktualisieren, müsste ich dies aber immer wieder tun. Deshalb hätte ich gerne ein Tool, dass diese Arbeit automatisiert. An dieser Stelle kommt dann Vibe Coding ins Spiel.

Dafür eignen sich spezielle KI-Tools wie Open Codex von OpenAI oder Claude Code von Anthropic. Ich habe mich für letzteres entschieden. Hierfür braucht man allerdings ein kostenpflichtiges Abo (17$/Monat).

Man kann verschiedene Interfaces für Claude Code nutzen. Ich empfehle das Command Line Interface (CLI), da man hier Zugriff auf alle Funktionen hat und es meiner Meinung nach auch der einfachste Weg ist. Man prompted hier genauso wie bei den bekannten Chatbots (ChatGTP, Gemini etc.). Der Unterschied ist, dass Claude Code Zugriff auf den Projektordner hat und hier neue Dateien erstellen und in diese direkt Code und Daten schreiben kann. Dies macht es zu einem enorm mächtigen Werkzeug. Es birgt aber eben auch Risiken und kann ungewollt Daten löschen. Gebt Claude Code also nur Zugriff auf den Projektordner.

Ich habe geschätzt 60 Prompt-Iterationen gebraucht, bis ich ein Tool hatte, mit dem ich als Prototypen zufrieden war. Es sind jetzt vier Arten integriert: Asiatische Hornisse (Vespa velutina), Kanadagans (Branta canadensis), Europäischer Biber (Castor fiber) und die Wildkatze (Felis sylvestris).

Man bekommt aktuelle Daten von GBIF für 2026 für alle Arten außer den Biber. Für diesen gibt es anscheinend noch keine aktuellen Daten in GBIF. Außerdem kann man sich auch Trends der Fundzahlen ausgeben lassen. Zusätzlich werden Karten mit historischen Fundorten erstellt und die geografische Skala lässt sich variieren (weltweit, national, Ebene der Bundesländer). Die aktuellen Daten werden über die GBIF-API abgerufen. Die historischen Daten sind in das Programm integriert. Der Code ist komplett in Python geschrieben. Dies macht Sinn, da es primär um Daten geht und Python viele Bibliotheken für Datenverarbeitung hat (Pandas etc.).

Das Programm ließe sich sowohl aus Anwendersicht als auch programmiertechnisch noch stark verbessern aber für den Moment ist das der Stand der Dinge. Natürlich sind die GBIF Daten mit Vorsicht zu genießen. Diese können taxonomische und geografische Fehler enthalten. Außerdem haben die Daten einen starken bias, da die Fundortdichte durch die Zahl der Beobachterinnen beeinflusst wird.

Mein vorläufiges Resumee ist, dass Vibe Coding mit Claude Code sehr spannend aber immer noch extrem viel Arbeit ist. Es ist vielleicht so als würde man mit einem Programmierer arbeiten. Aber der Programmierer kann einem nicht die fachliche und konzeptionelle Arbeit sowie Design-Entscheidungen abnehmen. Außerdem sollte man eine starke Affinität zu techy-nerdy stuff haben 😉

Hier ist der Arten Tracker Prototyp.

Ähnliche Beiträge