
Oops!… I Did It Again — wie ich in 24 Stunden meine Website neu gebaut habe (ohne programmieren zu können)
Ich kann nicht programmieren. Trotzdem läuft seit zwei Wochen meine komplette Website inklusive Kundenportal, CRM, Galerien und Adminbereich auf meinem eigenen Server. Über vierundzwanzig Stunden Bauphase, zwei Wochen Ausbau und das Gefühl, gerade live zu erleben, wie sich Software-Entwicklung neu erfindet.
Oops!… I Did It Again.
Ich kann nicht programmieren. Wirklich nicht. Mein Informatikstudium habe ich damals mit vier mal fünf Komma null abgebrochen. C, Java, Datenstrukturen, Algorithmen. Ich habe es ehrlich versucht und bin ehrlich gescheitert. Seitdem trage ich diesen einen Satz mit mir herum: Programmieren ist nichts für mich.
Und trotzdem läuft seit zwei Wochen meine komplette neue Website auf einem eigenen Server mit eigener IP. Inklusive Kundenportal, CRM, Galerien, Adminbereich, Blogsystem und allem, was dazugehört. Gebaut in vierundzwanzig Stunden. Ausgebaut in zwei Wochen. Komplett mit KI.
Ich habe mehrfach davor gesessen und gedacht: Das ist gerade nicht real.
Angefangen hat das Ganze mit einer Unzufriedenheit. Meine alte Website hat funktioniert. Sie war ordentlich, sie war erreichbar, sie hat ihren Zweck erfüllt. Aber sie war eben auch eine klassische Dienstleisterseite. Leistungen, Pakete, Preise, Kontaktformular. Eine Liste dessen, was ich kann, ohne dass jemand wirklich verstanden hätte, wie ich arbeite. Und je länger ich mit Unternehmen über echte Partnerschaften gesprochen habe, desto weniger hat diese Seite zu mir gepasst.
Ich wollte etwas Anderes. Eine Seite, die zeigt, wie ich denke. Wie ich Projekte begleite. Wie ein Auftrag bei mir tatsächlich abläuft, vom ersten Gespräch bis zur fertigen Datei. Etwas, das näher an Beratung ist als an einem Online-Shop für Drehtage.
Also habe ich angefangen. Mit Claude als Sparringspartner. Erst Konzept, dann Texte, dann grobe Struktur. Und irgendwann an einem Abend habe ich gedacht: Wenn ich das Konzept schon einmal habe, kann ich auch direkt mit dem Bauen anfangen.
Vierundzwanzig Stunden später lief die erste Version.
Dynamische Seitenstruktur. Kundenportal mit Login, Dashboard und Projektstatus. Downloadbereich für fertige Lieferungen. Online-Galerie für Fotomaterial. Anfrageformular mit automatischer Zusammenfassung per Mail. Ein eigenes Backend, in dem ich Inhalte, Leistungen, Blogartikel und Kunden direkt verwalten kann.
Und dann ging es erst richtig los.
Eine fertige Anwendung ist die eine Sache. Sie irgendwo zum Laufen zu bringen, ist die andere. Ich hatte einen leeren VPS. Nichts drauf außer einem frischen Linux. Was dann passiert ist, klingt im Rückblick wie eine kleine Lerntour durch das, was Entwickler normalerweise jahrelang machen. SSH-Zugang einrichten. Node.js installieren. PM2 als Prozessmanager aufsetzen. Nginx als Webserver davorschalten. Firewall konfigurieren. Ports öffnen, Ports schließen, Routing testen. Zertifikate ausstellen. DNS-Einträge umbiegen. Cloudflare davorschalten.
Fünfhundert Megabyte Projektdaten habe ich per rsync auf den Server geschoben. Die Next.js-App gebaut, deployed, gestartet. Die ersten Fehler kamen sofort. Routing-Konflikte, ein falsch gesetzter Port, eine Cache-Schicht, die alles doppelt ausgeliefert hat. Schritt für Schritt durchgegangen, Logs gelesen, Fehler beschrieben, Lösungen umgesetzt. Nicht ich allein, sondern immer im Dialog. Ich beschreibe das Problem, die KI schlägt eine Lösung vor, ich setze sie um, ich melde zurück, was passiert. Wieder und wieder, bis es lief.
Irgendwann am späten Abend war es so weit. Die Seite war live. Öffentlich erreichbar. Über eine echte Domain, auf einem echten Server, mit echter Infrastruktur.
Und dann habe ich nicht aufgehört.
In den zwei Wochen danach ist aus der Website ein komplettes System geworden. Stück für Stück, Funktion für Funktion. Immer dann, wenn mir im Alltag aufgefallen ist, dass irgendwo manuelle Arbeit anfällt, habe ich nachgezogen.
Das CRM war einer der ersten großen Bausteine. Eine eigene Oberfläche unter dem Adminbereich, in der ich Kunden, Anfragen und Projekte zusammenführe. Wer hat sich wann gemeldet. Was wurde besprochen. Wo steht das Projekt gerade. Welche Dateien liegen schon im Portal. Statt drei Tabs, einem Notizbuch und einer Mailbox habe ich jetzt eine Stelle, an der alles zusammenläuft.
Parallel ist der Adminbereich gewachsen. Ich kann inzwischen Blogartikel direkt im Browser schreiben, veröffentlichen oder zurückziehen. Ich kann Leistungen anpassen, ohne im Code etwas zu ändern. Ich kann Bilder austauschen, Inhalte umstellen, Galerien anlegen, Kunden anlegen, Portalzugänge ausstellen. Alles in einer Oberfläche, die nur ich sehe und die exakt auf meinen Workflow zugeschnitten ist.
Dazu kamen die Galerien. Wenn ich nach einem Shooting fünfhundert Bilder ausliefern muss, war das früher eine Mischung aus Cloud-Link, Mailanhang und Erklärung. Heute lege ich im Adminbereich eine neue Galerie an, lade die Auswahl hoch, vergebe einen Zugang und schicke einen Link. Der Kunde sieht eine saubere, ruhige Oberfläche, kann durchklicken, einzelne Bilder markieren und alles auf einmal herunterladen.
Die Projektakte funktioniert nach demselben Prinzip. Pro Projekt gibt es einen geschützten Bereich, in dem alles liegt, was zu diesem Auftrag gehört. Angebot, Konzept, Drehplan, Zwischenstände, finale Dateien. Statt sich durch alte Mails zu wühlen, schaut der Kunde in den Bereich, der für ihn freigeschaltet ist, und findet sofort, was er braucht.
Das Videoreview ist die jüngste Ergänzung. Wenn eine Schnittfassung fertig ist, lade ich sie nicht mehr in einen externen Dienst, sondern direkt ins Portal. Der Kunde kann das Video ansehen, an konkreten Stellen kommentieren, Feedback hinterlassen, das ich sekundengenau in meinem Schnittprogramm wiederfinde. Statt zehn Mails mit Zeitangaben gibt es eine Liste, die ich der Reihe nach abarbeite.
Vor dem Server liegt mittlerweile Cloudflare. Caching, Schutz vor Bots, DDoS-Filter, schnellere Auslieferung in alle Regionen. Wenn jemand aus Frankfurt oder Hamburg auf die Seite kommt, holt er sie sich nicht direkt vom Server in meinem Rechenzentrum, sondern aus dem nächsten Knoten. Das macht die Seite spürbar schneller und schützt sie gleichzeitig.
Auch unter der Haube läuft inzwischen einiges automatisch. Anfragen über das Formular fasse ich nicht mehr selbst zusammen, sondern bekomme sie als sauber strukturierte Mail. Login-Versuche im Adminbereich sind abgesichert. Daten werden regelmäßig gesichert. Wenn ein Prozess abstürzt, startet er sich selbst neu, ohne dass ich überhaupt merke, dass etwas war.
Wenn ich das so schreibe, klingt es nach einem Entwicklerprojekt. Es ist aber keins.
Ich habe keine einzige Zeile dieses Codes wirklich selbst geschrieben. Ich habe beschrieben, was ich brauche. In meiner Sprache, aus meiner Perspektive. Was passieren soll, wenn ein Kunde sich einloggt. Wie sich die Anfragen anfühlen sollen. Welche Daten in einem CRM-Eintrag stehen müssen, damit ich damit arbeiten kann. Die KI hat daraus Code gemacht, ich habe ihn auf den Server gebracht, ausprobiert, beschrieben, was nicht funktioniert, und wieder zurückgegeben.
Das ist ein anderer Modus als das, was ich aus meinem damaligen Studium kenne. Damals saß ich vor einem Compiler, der mir gesagt hat, dass in Zeile zweiundvierzig ein Semikolon fehlt, und ich hatte keine Ahnung, was das überhaupt bedeutet. Heute habe ich einen Dialog. Ich kann fragen, warum etwas so gebaut ist. Ich kann Alternativen vorschlagen. Ich kann sagen, dass mir eine Lösung zu kompliziert vorkommt, und bekomme eine einfachere. Es fühlt sich weniger nach Programmieren an und mehr nach gemeinsamem Bauen.
Was mich an diesem Prozess am meisten überrascht, ist nicht, dass es funktioniert. Es ist, wie nahe das, was entsteht, an meiner eigenen Arbeitsweise dran ist.
Jedes System, das ich vorher genutzt habe, war für irgendjemand anderen gebaut. Eine Galerie-Plattform für Hochzeitsfotografen. Ein CRM für Vertriebsteams. Ein Projektmanagement-Tool für Agenturen mit zwanzig Leuten. Immer musste ich meine Realität in deren Formulare pressen. Jetzt ist es andersherum. Die Software passt sich an meinen Alltag an, nicht umgekehrt. Wenn mir etwas fehlt, baue ich es. Wenn etwas im Weg ist, fliegt es raus.
Das hat auch Folgen, die ich erst langsam verstehe. Ich gebe weniger Geld für Tools aus. Ich bin nicht abhängig von Anbietern, die ihre Preise ändern oder Funktionen einstampfen. Ich kann Daten dorthin legen, wo ich sie haben will. Wenn ein Kunde sensibles Material schickt, liegt es auf meinem Server und nicht in einer fremden Cloud, deren AGB ich nie wirklich gelesen habe. Das ist kein Nebensache-Punkt. Das ist ein Stück Souveränität, das ich vorher nicht hatte.
Gleichzeitig kommt damit Verantwortung. Wenn der Server ausfällt, fällt meine ganze Arbeitsumgebung aus. Wenn Backups nicht laufen, sind im Zweifel Daten weg. Wenn ich etwas falsch konfiguriere, ist das mein Problem. Diese Verantwortung will ehrlich gesagt nicht jeder haben, und das ist auch in Ordnung. Für mich passt es. Ich mag es, zu verstehen, was läuft, und ich mag es, schnell reagieren zu können, wenn etwas nicht stimmt.
Vielleicht ist das der eigentliche Punkt. Es geht nicht darum, dass jetzt jeder Videograf zum Halb-Entwickler wird. Es geht darum, was möglich ist, wenn man Werkzeuge an die Hand bekommt, die einem das Bauen abnehmen, aber die Entscheidungen bei einem lassen.
Ich entscheide, wie ein Kunde sich durch die Galerie bewegt. Ich entscheide, welche Daten ich pro Projekt erfasse. Ich entscheide, was im Adminbereich auf der Startseite steht und was im zweiten Untermenü. Die KI baut, ich gestalte.
Wenn mich vor einem Jahr jemand gefragt hätte, ob ich mir vorstellen kann, mein eigenes Kundenportal zu betreiben, hätte ich abgewunken. Zu groß. Zu komplex. Zu weit weg von meinem eigentlichen Beruf. Heute ist es Realität. Und es fühlt sich nicht nach Nebenprojekt an, sondern nach einem natürlichen Teil meines Studios.
Was hier gerade möglich ist, verändert komplett, wie schnell man Ideen umsetzen kann. Eine Idee, die früher ein Entwicklungsteam, drei Monate und ein fünfstelliges Budget gebraucht hätte, ist heute ein Wochenende. Vorausgesetzt, man weiß, was man eigentlich will.
Und genau das ist die neue Schwierigkeit. Nicht mehr das Bauen. Sondern das Wissen, was gebaut werden soll.
Vielleicht ist das auch der ehrlichste Vorteil meiner Arbeit als Videograf. Ich beobachte Prozesse, seit Jahren. Ich sehe, wo in Unternehmen Reibung entsteht. Wo Kommunikation hängt. Wo Tools nicht zur Realität passen. Genau dieses Auge hilft mir jetzt dabei, mein eigenes System sinnvoll zu bauen. Nicht für eine Zielgruppe. Sondern für mich selbst und meine Kunden.
Ich bin nicht zum Programmierer geworden. Ich kann es immer noch nicht. Wenn mir morgen jemand eine Funktion auf Papier hinlegt und sagt, schreib das in C, dann steige ich nach drei Zeilen aus.
Aber ich kann Systeme bauen. Ich kann sie betreiben. Ich kann sie pflegen. Und ich kann sie an die Menschen anpassen, die damit arbeiten.
Vielleicht ist das die eigentliche Veränderung. Nicht, dass alle plötzlich coden können. Sondern dass die Hürde zwischen Idee und Umsetzung gerade in einer Geschwindigkeit kleiner wird, die man kaum mitbekommt, während man drinsteckt.
Ich saß mehrfach vor dem Bildschirm und habe gedacht: Das ist gerade nicht real.
Doch. Ist es. Und es läuft.
MEHR EINBLICKE
Ciao SSD-Chaos – warum ich meine Speicherstruktur komplett neu aufgebaut habe
Manchmal merkt man plötzlich, dass ein System nicht mehr mit der eigenen Arbeit wächst. Über den Moment, in dem aus Chaos Struktur wird — und warum eine neue NAS mein Workflow-Upgrade des Jahres ist.
MindsetWenn Perfektionismus mehr Zeit frisst als Qualität bringt
Über Schnittentscheidungen, Zweifel und den Moment, in dem gut genug wirklich gut ist. Perfektionismus fühlt sich oft an wie Professionalität — in Wahrheit ist er manchmal einfach Angst.
Fails & LearningsFünf Fails, bei denen ich am liebsten im Boden versunken wäre
Fehler passieren. Vor allem dann, wenn man anfängt. Heute sehe ich sie als Lernmomente — damals fühlten sie sich an wie ein Schlag in die Magengrube. Fünf Situationen, die mich bis heute prägen.