Die KI übernimmt
Die Entwicklung
Code schreiben und umbauen, Auszeichnung setzen, Diagramme zeichnen, Formulierungen vorschlagen, Zahlen messen statt schätzen, Prüfungen wiederholen, bis sie sauber durchlaufen.
Unter der Haube
Statisches HTML, ein Stylesheet, eine JavaScript-Datei. Kein Framework, kein Build-Schritt, kein Inhaltsverwaltungssystem und keine Anfrage an einen fremden Server. Und: geschrieben hat das keine Hand. Diese Website entsteht vollständig im Dialog mit KI, überwiegend mit Claude Code. Sie ist mein Versuchsfeld dafür, was dabei herauskommt.
Entstehung
Sie soll nicht nur zeigen, was ich mache. Sie ist selbst der Versuch.
Ich schreibe hier keinen Code und keine Absätze von Hand. Beides entsteht im Gespräch mit einer KI, meistens mit Claude Code: Ich beschreibe, was ich will, korrigiere, verwerfe, frage nach. Was am Ende dasteht, hat die KI getippt.
Was sie nicht liefert, sind die Inhalte. Jede Erfahrung, jede Zahl und jede Einschätzung auf dieser Website stammt aus meinen eigenen Aussagen. Nichts ist ausgedacht, und alles ist belegbar: Wo mir eine Zahl fehlt, steht das im Text, statt dass eine plausible erfunden wird. Wo etwas nur meine Einschätzung ist, steht es als Einschätzung da.
Die Entwicklung darf von der Maschine kommen. Der Inhalt nicht.
Kein Text geht hier nach draußen, den ich nicht vorher gelesen habe. Ich streiche, korrigiere und weise zurück, wenn eine Formulierung mehr behauptet, als ich belegen kann. Mehrere Absätze auf dieser Website sind entstanden, weil ich einen Vorschlag abgelehnt habe, nicht weil ich ihn angenommen habe.
Das ist auch mein Verständnis davon, wie man KI sinnvoll einbindet: führen statt machen lassen. Ein Modell, das unbeaufsichtigt schreibt, produziert etwas, das plausibel klingt. Ein Modell, das geführt wird, nimmt einem die Arbeit ab, die tatsächlich Arbeit ist: tippen, umbauen, prüfen, wiederholen. Die Verantwortung für das Ergebnis wandert dabei nicht mit.
Die KI übernimmt
Code schreiben und umbauen, Auszeichnung setzen, Diagramme zeichnen, Formulierungen vorschlagen, Zahlen messen statt schätzen, Prüfungen wiederholen, bis sie sauber durchlaufen.
Ich übernehme
Was hier steht, welche Erfahrung dahintersteht, welche Zahl stimmt, was weggelassen gehört. Und die letzte Lesung, bevor etwas online geht.
Der Rest ist Neugier. Ich probiere hier aus, wie weit das trägt: Wie sauber wird der Code? Wie lange bleibt eine Seite wartbar, die so entstanden ist? Wo fällt es auf, wo nicht? Deshalb finden sich hier Dinge, die keine Visitenkarten-Website bräuchte: eine Kommandozeile in der Fußzeile, Diagramme zum Durchklicken, ein Zeichenregen aus echten Repo-Zeilen. Nicht weil sie nötig wären, sondern weil ich wissen wollte, ob es geht.
Belegen lässt sich das nur teilweise: 19 von 90 Commits tragen eine Mitzeichnung der KI. Nicht weil der Rest von Hand entstanden wäre, sondern weil ich diese Kennzeichnung erst spät eingeführt habe. Die Historie umfasst 24 Arbeitstage seit April 2026.
Was das für dich als Leserin oder Leser heißt: Wenn dir hier etwas gefällt, ist es das Ergebnis eines Dialogs und nicht eines Auftrags an ein Werkzeug. Und wenn dir etwas nicht gefällt, war es meine Entscheidung, es so stehen zu lassen.
Gemessen
Stand 10. September 2026. Übertragungsgrößen sind die tatsächlich ausgelieferten, also nach gzip.
| Was | Wert | Anmerkung |
|---|---|---|
| Seiten | 25 | jede eine eigene HTML-Datei |
| Wörter im Inhalt | 22.114 | ohne Navigation, Fußzeile und Auszeichnung |
| Fremdrequests | 0 | kein CDN, keine Schriftdienste, keine Zählpixel |
| Stylesheet | 27,4 KB | übertragen, aus 130,2 KB Quelle |
| JavaScript | 24,9 KB | übertragen, aus 86,8 KB Quelle |
| Zeichenregen | 1,8 KB | 141 echte Zeilen aus eigenen Repos |
| Schrift | 17,5 KB | eine Datei, selbst gehostet, VT323 |
| Alles außer Bildern | 71,5 KB | einmalig, danach aus dem Cache |
| SVG-Diagramme | 7 | als Auszeichnung gesetzt, keine Bilddateien |
| Strukturierte Daten | 27 | JSON-LD-Blöcke, eine Personen-Kennung |
| Weiterleitungen | 6 | alle direkt aufs Ziel, keine Ketten |
| Commits | 90 | seit 08.04.2026 |
Entscheidungen
Jede dieser Festlegungen hat einen Grund, der nichts mit Geschmack zu tun hat.
Kein Framework
Die Seite hat keine Anmeldung, keine Datenbank und keinen Zustand. Was ein Framework hier lösen würde, existiert nicht. Der Preis wäre ein Build-Schritt und eine Abhängigkeit, die jemand pflegen muss.
Keine Fremdrequests
Kein Google-Font, kein CDN, kein Zählpixel. Die Seite kann deshalb nichts über dich an Dritte weitergeben, und sie funktioniert auch dann, wenn ein fremder Dienst gerade nicht funktioniert.
Eine Schrift im Preload
Die Terminal-Schrift der Startseite wird vorgeladen. Ohne das bricht die Überschrift zunächst mit der Ersatzschrift um und springt danach. Das war früher der größte Teil des Layoutversatzes.
Ohne JavaScript
Der Kartenstapel wird ein Raster, die Schritt-Diagramme zeigen den ganzen Ablauf, die Mailadresse steht als Text da. Nichts Wesentliches hängt am Skript, es macht Vorhandenes nur bequemer.
Diagramme als SVG
Jedes Modell ist Auszeichnung, kein Bild, Koordinate für Koordinate im Dialog gesetzt. Es skaliert, es ist durchsuchbar, es trägt eine Beschreibung für Screenreader, und es passt sich dem Hell- und Dunkelmodus an. Eine PNG-Datei könnte das alles nicht.
Mailadresse
Benutzer und Domain liegen getrennt in Attributen und werden erst im Browser zusammengesetzt. Ohne JavaScript bleibt eine lesbare Ersatzform stehen, denn im Impressum muss die Adresse verfügbar sein.
Offen
Eine Seite über die eigene Bauweise ist nur dann etwas wert, wenn auch das Unfertige drinsteht.
Es fehlt ein Cache-Control-Header. Der Server liefert ETag und Last-Modified, aber keine Angabe zur Haltbarkeit. Browser raten dann, wie lange sie eine Datei behalten dürfen. Dass die Dateinamen einen Versionsparameter tragen, macht eine lange Haltbarkeit gefahrlos möglich, sie ist nur noch nicht gesetzt.
Die Bilder sind der größte Posten. Alle Bilddateien zusammen wiegen deutlich mehr als der ganze Rest der Seite. Auf einer einzelnen Seite wird davon nur ein kleiner Teil geladen, aber die Vorschaubilder für soziale Netzwerke ließen sich weiter verkleinern.
Die Betriebszahlen im Homelab sind von Hand gepflegt. Sie stimmen, sind aber nicht aktuell, weil sie niemand automatisch schreibt. Genau das wäre der nächste sinnvolle Schritt und liegt auch nahe: die Werkzeuge dafür laufen ohnehin.
Die Datenschutzerklärung spricht von Cookies. Tatsächlich speichert die Seite nur eine Einstellung im localStorage des Browsers, nicht in einem Cookie. Beides wird rechtlich gleich behandelt, aber der Text ist ungenau und gehört nachgezogen.
Weiter
Werkstatt
Praxisberichte mit Aufbau, Zahlen und den Stellen, an denen es nicht funktioniert hat.
Homelab
Cluster, Speicher und Dienste, auf denen Automatisierung und Smart Home laufen.
Claude Code
Womit diese Seite entstanden ist, und was dabei half oder eben nicht.