← Blog

Von einer Laune zur installierbaren App

4. November 2026 · Inside OnePress

Das begann als Laune, nicht als Use Case: „Kannst du eine kleine, hübsche Analoguhr für meinen Windows-Desktop machen — ein paar Zifferblätter, fühlt sich an wie eine echte Uhr?" Ein Satz im Chat. Kein Briefing, keine Spec, keine Deadline. Was dann passierte, ist ein gutes Beispiel dafür, wofür das Produkt eigentlich da ist — hier also der ehrliche Ablauf, Screenshots inklusive.

Die Anfrage, wörtlich

Das Gespräch begann buchstäblich mit einer beiläufigen Frage und machte mitten im Lauf zwei Kehrtwendungen („eigentlich, mach eine HTML-Version" → „paketiere es wie eine installierbare Web-App"). Der Agent folgte den Wendungen, ohne irgendetwas neu zu starten.

Chat: die ursprüngliche Anfrage auf Chinesisch und der Agent, der die erste Datei schreibt
Die ursprüngliche Anfrage (auf Chinesisch — das war eine echte Session, nicht inszeniert) und der Agent, der schon preview.html schreibt.

Design-Iteration mit Sichtprüfung

Statt einen Look zu raten, renderte der Agent vier Zifferblätter — Porzellan, Nacht, Minimal, Römisch — Seite an Seite in einer Vorschauseite, machte Screenshots von seiner eigenen Ausgabe und kam mit zwei selbst gefundenen Defekten zurück: Der Schatten des Sekundenzeigers war zu schwer, und die 12-Uhr-Markierungen des minimalen Zifferblatts waren zu lang. Beide wurden vor der Auslieferung gefixt.

Die visuelle QA-Nachricht des Agents mit den vier gerenderten Zifferblättern
Der Vier-Zifferblatt-Design-Durchlauf, den der Agent zum Vergleich gemacht hat. Darunter: sein eigener screenshot_html-QA-Schritt — er hat sich seine Arbeit angesehen, bevor er sie auslieferte.

Der Weg zur echten App

Eine einzelne HTML-Datei ist eine Demo; ein installierbares Ding braucht das Drumherum: manifest.webmanifest, einen Service Worker für Offline-Nutzung und Icons. Der Agent schrieb das alles, plus Engineering, nach dem niemand gefragt hatte — das Zifferblatt wird auf eine Offscreen-Ebene gezeichnet, und nur die Zeiger werden pro Frame neu gezeichnet, damit eine Dauer-Uhr keine CPU verbrennt.

Tool-Aufrufe, die manifest.webmanifest und sw.js schreiben und Icons generieren
Manifest, Service Worker, Icons — das PWA-Grundgerüst, geschrieben als normale Workspace-Dateien.

Ehrliche Grenzen, laut ausgesprochen

Konnte die Uhr sich selbst über andere Fenster pinnen? Nein — Browser lassen das einer Webseite nicht zu, und der Agent sagte das klar, statt drumherumzureden. Dann lieferte er trotzdem die Workarounds: Microsofts PowerToys (Win+Ctrl+T), ein Ein-Zeilen-AHK-Skript und einen SetWindowPos-Toggle, den er selbst schrieb. „X kannst du nicht haben" plus „hier sind drei Wege, um 95% von X zu bekommen" ist die Art Antwort, die das Produkt geben soll.

Der Teil, der es zu einer Auslieferung macht

Code in einem Workspace ist noch Hausaufgabe. Der Agent fragte, ob er deployen soll — der Nutzer verband einmal seinen Cloudflare-Account in Settings → Channels (Account-ID + API-Token, ~30 Sekunden), und die nächste Nachricht im Chat enthielt eine Live-URL: onepress-clock.pages.dev. In Edge oder Chrome öffnen, auf Installieren klicken, und schon sitzt ein Uhren-Icon auf einem echten Windows-Desktop, das in einem eigenen Fenster startet — keine Adressleiste, funktioniert offline.

Zwei ehrliche Fußnoten hier. Erstens: der Cloud-Account des Nutzers, nicht unserer — die Site ist ein Asset, das ihm gehört, kein Share-Link, der mit dem Produkt stirbt. Zweitens: Das Deployment selbst hatte einen echten Bug — zwei Deployments meldeten success, aber jeder Pfad lieferte 404, weil unser Uploader das Manifest hochlud, ohne vorher die Dateiinhalte zu registrieren. Das wurde in derselben Session diagnostiziert und gefixt (korrekter Upload-Flow im wrangler-Stil) — darum können wir diese Geschichte veröffentlichen, ohne zu zucken.

Der Agent verifiziert das Live-Deployment und meldet den Fix
Deployment live verifiziert, und der Fix-Commit sichtbar in der Konversation — fix(publish): CF Pages 直传改 wrangler 四步流.

Die Rechnung, die wirklich zählt

Verstrichene Wandzeit: etwa eine halbe Stunde, davon arbeitete der Agent den Großteil allein. Menschlicher Input: grob eine Minute — ein Satz, der den Wunsch beschreibt, eine Settings-Verbindung, ein Klick auf „Installieren". Die interessante Arbeitseinheit in solchen Produkten ist nicht Prompt-Tokens oder Renderzeit; es ist wie viel von der Stunde des Nutzers der Agent zurückgibt.

Und es war ein Spielzeug. Genau das ist der Punkt: Selbst ein Wegwerf-Wunsch bekam Design-QA, ehrlichen Umgang mit Grenzen und ein auslieferbares Artefakt auf Infrastruktur, die dem Nutzer gehört. Wenn du denselben Flow mit etwas probierst, das du wirklich brauchst — eine Vokabel-App für deine Klasse, ein Rechner für dein Team — ist die Schleife identisch.

FAQ

Kann ein KI-Agent mir eine installierbare App bauen?
Ja — beschreib im Chat, was du willst; der Agent baut eine Progressive Web App, deployt sie auf deinen eigenen Cloudflare-Pages-Account, und du installierst sie aus dem Browser wie eine native App, Desktop oder Handy.
Muss ich wissen, wie man eine Website deployt?
Nein. Einmalig: Cloudflare-Account-ID und ein API-Token in Settings → Channels einfügen. Danach ist „deploye das zu Cloudflare" im Chat der ganze Schritt — du bekommst eine live <name>.pages.dev-URL.
Wo lebt die App — gehört sie mir?
Auf deinem eigenen Cloudflare-Account, unter deinem eigenen <project>.pages.dev-Namen. Es ist kein Share-Link, der abläuft — wenn du OnePress morgen nicht mehr nutzt, bleibt die App online.
Kann eine Web-App unter Windows immer im Vordergrund bleiben?
Nicht von selbst — Browser verbieten das. Installiere die PWA und pinne das Fenster dann mit PowerToys (Win+Ctrl+T) oder einem kleinen Skript; eine echte Always-on-Top-Native-App braucht stattdessen den C#/WinForms-Weg.

Probier es selbst: Öffne onepress-clock.pages.dev und klick auf Installieren — oder öffne die App und beschreibe das Ding, das du schon lange bauen wolltest.

Inside OnePress — the build log

More posts like this, plus the weekly AI digest, straight to your inbox.

Get the build log in your inbox →

Reading this and have thoughts?

Spot a mistake, disagree, or want a follow-up? Tell us — a human reads it.