Über diesen Blog habe ich zwei Jahre lang nachgedacht

"Gewollt" trifft es nicht ganz, es war eher eine fixe Idee. Sie war schon da, als ich weder Frontend noch Backend schreiben konnte und auch keinen Embedded-Code. Damals bastelte ich noch an Elektronik herum, und zufällig stieß ich auf die Videos von @ushio auf und auf ihre Website, und fand das so toll, dass ich das auch haben wollte. Danach brauchte ich ein knappes halbes Jahr, lernte C von Grund auf, dazu ein bisschen JS und CSS, baute mit Hexo einen statischen Blog und stellte ihn auf Github Pages — damit hatte ich endlich mein eigenes kleines Fleckchen.

Hexo: A fast, simple & powerful blog framework. , hexo.io, öffnet in neuem Tab
Ein Screenshot der Startseite des Hexo-Projekts im Dark Mode, mit dem blauen sechseckigen „H"-Logo oben links neben Navigationslinks für Docs, API, News, Plugins, Themes, About, einem GitHub-Icon, einem Suchfeld mit Cmd-K-Hinweis und einem englischen Sprachumschalter rechts. Der Hero-Bereich lautet „A fast, simple & powerful blog framework" über einem kopierbaren Installationsbefehl, `$ npm install hexo-cli -g`, mit einem blauen Pfeil-Button, und darunter eine Reihe von Badges: 41k GitHub-Sterne, 5k Forks, 212k Downloads/Monat und ein Follow-@hexojs-Link. Eine Release-Leiste listet hexo 8.1.0 vom 26.10.2025, hexo 8.0.0 vom 16.09.2025, hexo 7.3.0 vom 02.07.2024 und Hexo 7.2.0 vom 17.04.2024 auf, und der nächste Abschnitt beginnt mit den Feature-Überschriften „Blazing Fast" und „Markdown Support". Die Release-Daten und die Download-Zahl datieren die Aufnahme auf Ende Oktober 2025 oder später.
ushio , sakura-ushio.icu, öffnet in neuem Tab
Ein Screenshot der Beitragsliste eines persönlichen Blogs, mit einer dunklen Seitenleiste links, die einen runden Avatar im Anime-Stil, den Namen 小汐, einen 主页-Link, eine Reihe von Links 所有文章 / 友链 / 关于我 sowie vier runde Social-Media-Icons, darunter GitHub und QQ, enthält. Die Hauptspalte zeigt eine angeheftete Beitragskarte mit dem Titel PD-METER-R4 vom 2023-01-29, deren chinesische Zusammenfassung besagt, dass sich das Projekt in Entwicklung befindet und im Vergleich zu R3 ein optimiertes Layout, einen ausgetauschten Hauptcontroller und einige neue Funktionen aufweist; darunter befinden sich zwei Fotos einer kleinen grünen Platine mit der Aufschrift USBC-R4 SAKURA, Vorder- und Rückseite, aufgenommen auf einem weißen Tuch mit einem Kamera-Wasserzeichen des Xiaomi 12S Ultra, das 2023.02.06 15:47 anzeigt. Die Karte trägt ein 置顶-Tag (angeheftet) und eine Schaltfläche 展开全文 >> zum Aufklappen, und darunter beginnt eine zweite Karte für WORX-BAT-Charger vom 2023-02-14. Es scheint sich um einen Beleg für das Blog eines Hardware-Bastlers zu handeln, das die Iterationen einer USB-C-Power-Delivery-Messplatine dokumentiert.

Später stieß ich auf die persönliche Website von @Innei. Sie war sehr elegant gestaltet und bot jede Menge Funktionen; ein einziger Blick genügte, und ich wollte sie haben. Ich unterstützte das Projekt sogar finanziell. Zwar kam sie später doch nicht zum Einsatz, aber das Geld war nicht umsonst ausgegeben, denn so bekam ich den React-Quellcode in die Hände. Es war wie damals, als ich zum ersten Mal C sah: Es ist doch nur Code – was soll daran so schwierig sein? Eines Tages werde ich selbst so etwas schreiben.

静かな森 , innei.in, öffnet in neuem Tab
Ein Screenshot der Startseite eines persönlichen Blogs im Dark Mode, mit fast schwarzem Hintergrund und blassen Blütenblättern, die darüber hinwegtreiben. Oben in der Mitte sitzt eine pillenförmige Navigationsleiste mit den chinesischen Einträgen 首页 (aktiv), 文稿, 手记, 时光, 思考 und 更多, oben links ein kleiner Avatar im Anime-Stil und oben rechts ein Anmelde-Icon; der Hero-Text links lautet "Hi, I'm Innei 👋。" über "A NodeJS Full Stack <Developer />" und der Zeile "An independent developer coding with love." Darunter folgt eine Reihe runder Social-Buttons — Bilibili, NetEase Cloud Music, GitHub, E-Mail, RSS, Telegram und X — während ein großes kreisrundes Anime-Porträt eines silberhaarigen Mädchens mit rosa Schleife die rechte Seite verankert und ein graues chinesisches Zitat über Verantwortung und innere Stärke am unteren Rand entlangläuft. Es handelt sich offensichtlich um die Landing-Ansicht von Inneis persönlicher Website, dargestellt in einem Browser in Desktop-Breite.

Das war 2024, und dann kamen 24, 25 und 26, bis wir beim Heute angelangt waren

Seitdem gibt es kein Halten mehr.

Außer Kontrolle

Angefangen hat es damit, dass ich dem Hexo-Theme Nlvi von @colmugx bloß eine Hell-Dunkel-Umschaltung verpassen wollte. Ich habe mir eine aus dem JS von Dark Reader zusammengeschustert -- hässlich, damit war ich nicht zufrieden. Dann lernte ich CSS @media, danach das Umschalten per JS im SPA, dann die .dark class von TailwindCSS, dann next-theme im SSR, und am Ende habe ich ein Cookie samt Head-Sync-Inline-Skript , um das FOUC-Flackern loszuwerden. Vier oder fünf Ansätze waren es am Ende.

🎨 A simple theme for hexo. , github.com, öffnet in neuem Tab
Ein Werbe-Mockup für ein Hexo-Blog-Theme, das links die Wortmarke „NIvi" in großer hellgrauer Schrift über einer kurzen lachsrosa Unterstreichung mit zwei überlappenden Browser-Screenshots des Themes auf der rechten Seite kombiniert. Das größere, desktopbreite Fenster zeigt einen cremefarbenen Header mit dem Schriftzug-Logo „Hexo" und einer Navigation aus Suche, ARTICLE, ARCHIVES, TAGS, ABOUT, darunter ein typografischer Testbeitrag vom 27.12.2013 mit dem Titel „Elements" — die Standard-Beispielseite von Hexo, die Heading 1 bis Heading 6 durchgeht, einen Paragraph-Abschnitt mit Lorem ipsum samt rosa Inline-Links, Fett, Kursiv, Unterstreichung und Code-Spans, ein Blockquote mit rosa Balken sowie eine dreispaltige Tabelle mit „Table Header 1–3" über den Zeilen „Division 1–3". Eine schmalere Mobil- oder Tablet-Darstellung derselben Seite überlappt sie unten rechts und zeigt das zentrierte Logo und den identischen Inhalt einspaltig umgebrochen. Das Ganze steht auf reinem Weiß und wirkt wie eine Theme-Präsentation, ein Beleg dafür, dass das Design seinen vollständigen HTML-Elementsatz bei beiden Breiten sauber rendert.

Doch das war nur die Spitze des Eisbergs. Nachdem ich React entdeckt hatte, arbeitete ich mich von der Steinzeit mit Hexo und reinem JavaScript bis zum Seitenrouter von Next.js 13 vor, machte dann einen Abstecher zu Vue, beschäftigte mich mit der Routensteuerung von Einzelseitenanwendungen, verstand schließlich den Rückfall auf index.html und setzte das Projekt unzählige Male neu auf. Ich kaufte einen Server und experimentierte mit Docker, Nginx und einem netzgebundenen Speichersystem; weil ich 1Panel hässlich fand, schrieb ich kurzerhand das Canopy-Bedienfeld selbst, erforschte Speicherverbünde und entwickelte RFS, und als mich bei der Einrichtung von SSL-Zertifikaten das im chinesischen Umfeld ständig streikende acme.sh zur Verzweiflung brachte, schrieb ich in Rust einen Reverse-Proxy namens Vane & Lazyacme. Ursprünglich waren das nur achthundert Zeilen Schrott, die ich an einem Abend in drei Stunden hingehackt hatte, doch nachdem mich ein paar Leute aus der Chatgruppe angestachelt hatten, arbeitete ich vier Monate daran und stopfte HTTP/3, kopierfreie Verarbeitung, ein Schichtenmodell und eine Fluss-Engine hinein. Danach kam noch Seam, ein Full-Stack-Framework und ebenfalls ein bodenloses Fass – aber davon ein andermal.

Überentwicklung

Dann begann das KI-Zeitalter, und meine Ängste verdoppelten sich erneut.

Das Ironischste daran ist, dass all diese Dinge eigentlich erst nach dem Blog entstehen sollten, dokumentiert, während ich sie baue. Stattdessen wurde der Blog , die Ideen wurden immer mehr, und es gab keinen einzigen Ort, an dem ich sie hätte festhalten können. Auf der einen Seite klagte mich mein Inneres an: Du hast gesagt, Vane wird fertig, also darfst du jetzt nicht aufhören. Auf der anderen Seite eine Ohnmacht, die mit jedem Schritt größer wurde, weil ich mich immer weiter entfernte. Ich wusste die ganze Zeit, was ich tun wollte, ich brachte es nur nicht zustande. Wenn ich genauer darüber nachdenke, habe ich schon sehr lange nicht mehr dagesessen und irgendetwas geschrieben. Im Rückblick zeigt das alles auf dasselbe -- auf Overengineering.

Damals war es eigentlich nicht so, dass ich nicht gemerkt hätte, wie ich vom Weg abkam. Vane? Der Blog musste schließlich irgendwann bereitgestellt werden, also brauchte ich doch ohnehin einen Reverse-Proxy. Seam? Früher oder später würde ich sowieso Full-Stack-Code schreiben, also konnte ich auch zuerst mein ideales Framework bauen. Jeder Schritt hatte seine Begründung, und alles würde ich „später noch brauchen“. Das Problem war nur: Dieses „später“ würde niemals kommen, weil ich nie angefangen hatte ...

Scheitern

Für einen Blog braucht man eigentlich weder einen Reverse-Proxy noch ein selbst entwickeltes Framework. Damals hielt ich beides jedoch für Voraussetzungen und machte es zu einer scheinbar vernünftigen Begründung, die mich auf Dauer vom Anfangen abhielt. Dabei waren diese Dinge nie Voraussetzungen. Die einzige wirkliche Voraussetzung war: mich hinzusetzen und den ersten Artikel zu schreiben.

Tatsächlich war es nicht so, dass ich nie an dem Blog gearbeitet hätte. Ganz im Gegenteil: Ich habe es dreimal versucht.

Vercel , vercel.com, öffnet in neuem Tab
Ein Screenshot der Next.js-Startseite im Dark Mode, der den Landing-Hero so zeigt, wie er in einem Desktop-Browser erscheint. Eine obere Navigationsleiste trägt links das Vercel-Dreieck und den NEXT.js-Schriftzug, daneben Links für Showcase, Docs, Blog, Templates und Enterprise, und rechts ein Feld „Search documentation..." mit einem ⌘K-Hinweis, einen Deploy-Button und einen Learn-Button. In der Mitte der Seite steht „The React Framework for the Web" in großer weißer Schrift, mit der Unterzeile „Used by some of the world's largest companies, Next.js enables you to create high-quality web applications with the power of React components," darüber einem blassen „Get Started"-Button und einem dunklen „Learn Next.js"-Button, und darunter dem Befehl `~ npx create-next-app@latest`. Schwach gepunktete Gitterlinien und zwei angeschnittene Kreisumrisse liegen als Hintergrundornament hinter dem Text.

Mein erster Versuch fiel noch in die Zeit des Page Router von Next.js 13. Damals hatte ich nur eine vage Vorstellung davon, was eine Single-Page-Anwendung ist, und verstand kein einziges der Konzepte SSR, SSG und ISR. Aber andere sagten, SSR sei gut, also wollte ich es ebenfalls verwenden. Während der Entwicklung stellte ich jedoch fest, dass ich überhaupt nicht verstand, welche Probleme diese Architekturen lösen sollten, und kam nicht mehr weiter. Später wechselte ich zu einer reinen Single-Page-Anwendung mit Vue 2. Warum Vue? Ehrlich gesagt ist es mir peinlich: Mir gefiel einfach der Name, und da es für mich ohnehin neu war, wollte ich es ausprobieren. Auch damit hielt ich nicht lange durch. Beim dritten Versuch kehrte ich zu React zurück und begann mit einfachem JSX. Ich lernte TypeScript, beherrschte TSX, verstand den Unterschied zwischen CJS und ESM, verliebte mich in reaktive Programmierung und setzte Bibliotheken wie Lucide, Framer Motion und Radix UI ein, auf die ich später nicht mehr verzichten konnte – diesmal nahm das Ganze endlich Gestalt an. Trotzdem scheiterte ich erneut, denn im Grunde ahmte ich nur andere nach: Was sie verwendeten, übernahm ich ebenfalls. Es sah überzeugend aus, aber tatsächlich verstand ich überhaupt nicht, warum man es so machen sollte. Mit den Halluzinationen der KI als zusätzlichem Anschub ließ sich zwar vieles als minimal funktionsfähiges Produkt zum Laufen bringen, doch beim Hochskalieren lauerte überall eine Falle.

Remix , remix.run, öffnet in neuem Tab
Ein Screenshot der Landingpage der Remix-Website, dargestellt auf einem blassen Farbverlauf von Grau zu Weiß, mit der Wortmarke „Remix" oben links und einer Navigationszeile oben rechts mit den Einträgen Blog, Jam, Store, V2 Docs. Zentrierter Überschriftentext verkündet „Remix 3 is under active development", darunter der Untertitel „A new full stack framework built on Web APIs". Die unteren zwei Drittel füllt eine stilisierte Illustration eines unter einem schwarzen Tuch verborgenen Autos, dessen Falten das Licht einfangen, mit einem diagonalen Banner in Regenbogenstreifen und weißen Rennstreifen-Blitzen, die die Mitte kreuzen — das klassische Motiv des verhüllten Supersportwagens als Teaser. Es liest sich als Beleg für den Zustand der Remix-3-Projektseite vor der Ankündigung, auf der die Neuentwicklung des Frameworks vor jeder Veröffentlichung publik gemacht wird.

Später lernte ich noch die Loader von React (Remix) Router, den App Router von Next.js 15 und RSC kennen, doch zu diesem Zeitpunkt war mein Alltag bereits so voll, dass ich kaum noch Zeit zum Programmieren hatte – und damit auch keine Gelegenheit, ein viertes Mal zu scheitern. Rückblickend habe ich meine Website von Next.js 13 bis Next.js 15 weiterentwickelt; kaum war die Migration abgeschlossen und noch bevor sie online ging, erschien bereits Next.js 16 beta 1.

Lass los

Zu sagen, ich hätte „losgelassen“, trifft es nicht ganz – ich war einfach müde.

Ein Screenshot eines macOS-Terminalfensters (Ampel-Buttons oben links, dunkler Hintergrund, Monospace-Schrift), der eine mit Rahmenzeichen gezeichnete Tabelle des täglichen LLM-Token-Verbrauchs und der Kosten zeigt, so weit gescrollt, dass die Kopfzeile außerhalb des sichtbaren Bereichs liegt. Jede Zeile besteht aus einem Datum von 2026-03-03 bis 2026-03-13, gepaart mit den an diesem Tag verwendeten Modellen — haiku-4-5, opus-4-6 und an manchen Tagen sonnet-4-6 —, gefolgt von fünf Zahlenspalten, die sich als Input-, Output-, Cache-Write- und Cache-Read-Tokens plus einer Gesamtsumme lesen lassen, sowie einem abschließenden Dollarbetrag; die Gesamtwerte reichen von 161.186.904 Tokens bei 97,92 $ am 2026-03-12 bis zu 3.277.442.496 Tokens bei 1.765,56 $ am 2026-03-09. Cache-Read ist mit Abstand die dominierende Spalte, oft im Milliardenbereich gegenüber wenigen Millionen Output-Tokens, und die Kosten folgen dieser Gesamtsumme eng. Es scheint sich um die Ausgabe eines CLI-Tools zur Verbrauchsauswertung zu handeln, ein Beleg für eine intensive, mehrtägige Claude-Code-Arbeitslast, die im Zeitraum vom 2026-03-06 bis zum 2026-03-09 mit rund 1.700 $ pro Tag ihren Höhepunkt erreicht.

Das Tempo der KI-Ära ist zu hoch. Modelle folgen einander in immer neuen Iterationen, neue Techniken tauchen Welle um Welle auf, und ich wurde immer nervöser, als würde ich überholt, sobald ich stehen bleibe. In der wildesten Zeit habe ich sechzehn Stunden am Tag Code geschrieben und konnte an einem Tag $1.9k USD an Token verfeuern (ungefähr im Februar, glaube ich); ich war fast am Ende. Aber was das alles gestoppt hat, war keine Erleuchtung, sondern schlicht Erschöpfung. Unter einem Takt, der immer enger wurde, fiel der letzte Tropfen, und gerade da wurde ich ruhig, ließ ich los, ; und so ist es auch ganz gut.

Ich begann loszulassen. Ich gab auf, woran ich früher verbissen festgehalten hatte, lernte, es gut sein zu lassen, und verschob die Sorgen von morgen auf morgen. Vane ist nicht fertig? Erst einmal liegen lassen. Seam ist noch lange nicht so weit? Später weitermachen. Der Blog ist nicht perfekt? Erst einmal veröffentlichen. Ich stieg vollständig auf Vibe Coding um: Solange es keine Probleme gibt, lasse ich alles in Ruhe; wenn welche auftreten, kümmere ich mich dann darum.

Das Seltsame ist: Nachdem ich losgelassen hatte, wurde die Qualität nicht schlechter. Ich glaube, das liegt daran, dass die Zeit des nicht umsonst war. Schon zu GPT-2-Zeiten habe ich KI benutzt, aber damals schrieb ich noch brav jede einzelne Zeile Code und verstand jedes einzelne Konzept. Diese Zeit hat mir das Fundament gegeben. Was danach kam, war weniger Vibe Coding als Context Coding — das nötige Urteilsvermögen war noch da, und das Loslassen hat weder zu dummen Fehlern noch zu Unfällen geführt.

All die früheren Experimente haben mir die Grundlage gegeben, jetzt loszulassen.

Ausgangspunkt

Die endgültige Lösung war überraschend einfach: alles auf Cloudflare. R2 als Objektspeicher, D1 als Edge-Datenbank, KV als Cache und Worker für serverseitiges Rendering – alles serverlos, ganz ohne Server.

Cloudflare Worker , workers.cloudflare.com, öffnet in neuem Tab
Ein Screenshot des Hero-Bereichs der Cloudflare-Marketing-Startseite, auf den oberen Teil der Seite zugeschnitten, auf einem gesättigten orangen Hintergrund mit einer schwachen gepunkteten Textur und einem warmen, blassen Schimmer, der von der unteren Mitte aufsteigt. Die Navigationsleiste enthält Products, Solutions, Resources und Pricing als Dropdown-Einträge, mit einer "Login"-Pille und einer weißen "Start building"-Schaltfläche auf der rechten Seite; die Überschrift lautet "Everything we learned from powering 20% of the Internet—yours by default", gefolgt von der Unterzeile "Cloudflare is your AI Cloud with compute, AI inference, and storage — letting you ship applications instead of managing infrastructure." und einem zweiten weißen "Start building"-Call-to-Action. Es ist ein Beleg für Cloudflares aktuelle Positionierung als "AI Cloud" statt als reiner CDN- oder Security-Anbieter, die sich auf die Reichweitenbehauptung von 20 % des Internets als Beweispunkt stützt.

Ist diese Antwort ironisch? Und wie. Denn bevor ich dieses „einfache“ Ziel erreichte, nahm ich einen gewaltigen Umweg. Ich hatte einmal vor, alles selbst zu hosten, musste dafür aber einen Server verwalten, mich mit Docker herumschlagen und Container betreuen. Also schrieb ich Canopy als Verwaltungsoberfläche, Lazycert zur Zertifikatsverwaltung, Vane als Reverse-Proxy und Twig zur Instrumentierung der Ressourcenüberwachung. Ein ganzer Haufen Projekte, nur um einen einzigen Schrottserver zu bedienen.

Beim Speicher war es genauso. Objektspeicher war mir zu teuer, und ich wollte die Festplatte meines eigenen Servers nutzen. Also schrieb ich RFS, ein VFS, das Daten atomar deduplizierte und in einer einzigen Datei zusammenführte. Ich belebte sogar das Registry-Konzept der 1980er- und 1990er-Jahre wieder und band das Ganze schließlich über FUSE ein. Das Ergebnis? Ich verbrachte noch mehr Zeit damit, ein schlechteres Rad neu zu erfinden, während der Server ein Jahr lang ungenutzt lief – ein durch und durch verlustreiches Geschäft.

Vercel , vercel.com, öffnet in neuem Tab
Ein Desktop-Browser-Screenshot der Marketing-Startseite von Vercel, dargestellt auf schwarzem Hintergrund mit einem schwachen Raster-Overlay. Die dunkle Navigationsleiste trägt links die Vercel-Dreieck-Wortmarke, Menüpunkte für Products, Resources, Solutions, Enterprise und Pricing sowie rechts die Bedienelemente Ask AI, Log In und Sign Up; die Hero-Überschrift lautet „Build and deploy on the AI Cloud." über der Unterzeile „Vercel provides the developer tools and cloud infrastructure to build, scale, and secure a faster, more personalized web." Darunter befinden sich zwei Schaltflächen – eine weiße primäre Schaltfläche „Start Deploying" mit dem Dreieck-Glyph und eine sekundäre Schaltfläche „Get a Demo" mit Umrandung. Darunter erhebt sich ein großes Dreieck in Strichzeichnung aus dem Raster, von hinten angestrahlt von einem Leuchten, das links blau, an der Spitze grün und rechts rot verläuft – ein Beleg für eine kürzlich erfolgte Aufnahme der aktuellen AI-Cloud-Positionierung der Website.

Nach einem großen Umweg bin ich am Ende doch wieder beim Serverless-Computing gelandet. Das Konzept von Vercel ist gut, aber Next.js gefällt mir nicht; außerdem steckt bei Vercel zu viel Magie dahinter. Auch das Middleware-Design, bei dem sie vorkompiliert und am Edge ausgeführt wird, führt letztlich zu einer fragmentierten Architektur und hat sogar mehrere CVEs hervorgebracht. Dann kann man gleich alles gemeinsam auf dem Ursprungsserver ausführen. Cloudflare Workers hingegen ist hervorragend und treibt das Ganze in ein anderes Extrem: Artefakte unter 10 MB werden zu WASM kompiliert, sodass echte Geschäftslogik am Edge laufen kann. Genau das will ich. Der einzige Nachteil sind die Kosten – aber eigentlich ist selbst das keiner, denn gesparte Zeit ist Geld.

Weniger ist mehr

Diesen Satz hatte ich unzählige Male gehört, doch es dauerte zwei Jahre, bis ich seine Bedeutung wirklich verstand.

Zurück zum Wesentlichen des Engineerings: „Make it function, make it correct, then make it exceptional.“ Endlich war ich auf dem richtigen Weg und hatte es zum Laufen gebracht. Ist der Blog gerade rudimentär? Ist er. Unvollständig? Definitiv. Aber immer noch besser als gar nichts. Wenn du noch nicht einmal etwas online gestellt hast, ständig an dem arbeitest, was du „vielleicht brauchst“, und einer unsichtbaren Perfektion hinterherjagst, wirst du am Ende gar nichts vorweisen können. Das ist kein Kompromiss, sondern eine Abwägung aus Sicht des Engineerings. Jedenfalls habe ich gelernt, loszulassen. Also ließ ich los. Als ich aufhörte, mich an einem einzigen Detail festzubeißen, ging ich stattdessen tatsächlich vor die Tür. In meinen Handyfotos gab es schon ewig keine Aufnahmen von draußen mehr, also machte ich einen schnellen Schnappschuss am Straßenrand — ich war schließlich schon lange nicht mehr draußen gewesen (

Eine Fotografie, aufgenommen mit Blick nach unten auf eine niedrige Hecke aus beschnittenen immergrünen Sträuchern, die diagonal durch das Bild hinter einem hellen Granitbordstein verläuft, mit einem Streifen aus grauem Pflaster und Asphalt in der unteren linken Ecke. Die Sträucher sind dicht, aber in der Nähe des Bordsteins sichtbar licht, wo kahle verholzte Stängel und ein Boden aus braunem Falllaub durchscheinen, und das Laub trägt den gelbgrünen Schimmer des frischen Frühjahrsaustriebs; ein schlanker Baumstamm ragt am oberen Bildrand aus der Bepflanzung, und ein Band rostroter Beetpflanzen füllt den fernen Hintergrund. Das Licht ist hell und gerichtet, tief genug, um lange weiche Schatten eines außerhalb des Bildes befindlichen Objekts über den Gehweg und den Bordstein zu werfen, was auf den späten Nachmittag hindeutet.

Bereue ich die Umwege, die ich früher gegangen bin, wenn ich heute darauf zurückblicke? Nein. Manche Dinge versteht man vielleicht nie, wenn man sie nicht selbst ausprobiert. Außerdem ist es im KI-Zeitalter praktisch unmöglich geworden, denselben alten Weg zu gehen wie ich damals; zu viele Arbeitsabläufe haben sich bereits verändert. Dann ist da noch dieses Projekt: Taki, vollständig mit KI programmiert. Das bedeutet jedoch weder, dass es sich nicht langfristig warten lässt, noch, dass ihm die menschliche Note fehlt. Eigentlich spielt es keine Rolle, ob KI beteiligt war. Mir gefällt schließlich nicht das Programmieren an sich, sondern etwas zu erschaffen ...