Single-Purpose-KI-Foto-Apps auf Vercel mit Einmalzahlung statt Accounts
Der Betreiber der Sadana-Apps entwickelt spezialisierte KI-Foto-Apps wie Altbild-Restaurierung, Headshots und Produktaufnahmen. Jede App besteht aus einer statischen Website mit wenigen Serverless Functions auf Vercel und wird per Einmalzahlung ohne Benutzerkonten verkauft.

Ich baue KI-Foto-Apps mit einem einzigen Zweck (Restaurierung alter Fotos, Porträtaufnahmen, Raumgestaltung, Produktfotos). Jede davon ist eine statische Website plus einige serverlose Funktionen auf Vercel, und jede wird als Einmalkauf ohne Nutzerkonten verkauft. Hier ist das Setup und was ich gelernt habe.
Das Frontend besteht aus schlichtem statischem HTML, CSS und etwas JS. Kein Framework, daher laden die Seiten schnell und lassen sich gut indexieren. Alles, was ein Geheimnis benötigt (der Modellaufruf, die Zahlungsprüfung), liegt in einer serverlosen Funktion unter /api. Der Browser sieht niemals einen API-Schlüssel.
Keine Konten, keine Passwörter. Nach dem Checkout sendet Lemon Squeezy per E-Mail einen Lizenzschlüssel. Die App fragt nach diesem Schlüssel, und die /api-Funktion validiert ihn über die Lemon Squeezy License API, bevor irgendeine Arbeit erledigt wird. Der Schlüssel verfolgt auch, wie viele Credits übrig sind (zum Beispiel 3 Fotos). Das beseitigt die Registrierungshürde und bedeutet, dass es keine Nutzerdatenbank zu schützen gibt.
Fotos werden im Speicher verarbeitet und nur an den Bildmodell-Anbieter zur Generierung gesendet. Wir schreiben sie niemals auf eine Festplatte, in eine Datenbank oder einen Bucket, und die Ergebnisse gehen direkt an den Browser. Stelle das auf der Seite klar heraus; Nutzern ist das wichtig.
Wenn eine Generierung fehlschlägt (kein Bild kommt zurück oder das Modell meldet einen Fehler), wird das Credit automatisch zurückerstattet und der Nutzer kann kostenlos erneut versuchen. Fehlgeschlagene Generierungen, Dienstfehler und ungenutzte Codes innerhalb von 7 Tagen werden erstattet; sobald ein Ergebnis ausgeliefert wurde, werden Erstattungen aufgrund Meinungsänderung nicht angeboten. Lege das vor dem Launch fest, denn es bestimmt die Credit-Abrechnungslogik in der API.
Werkzeuge mit einem einzigen Zweck gewinnen bei Long-Tail-Suchen. Ich erzeuge viele kleine Landingpages (eine pro Anwendungsfall) aus einer Vorlage und einer Datendatei und reiche dann die neuen und geänderten URLs nach jeder Veröffentlichung bei IndexNow ein (ein kleines Skript sammelt sie und sendet die Pings), damit Bing und andere Änderungen schnell erfassen. Halte jede Seite wirklich nützlich, nicht dünn.
Wenn du die Apps hinter diesen Beispielen sehen möchtest: Sadana
Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.
Original (Englisch) anzeigen
I build single-purpose AI photo apps (old-photo restoration, headshots, room redesign, product shots). Each one is a static site plus a few serverless functions on Vercel, and each is sold as a one-time payment with no user accounts. Here is the setup and what I learned.
The front end is plain static HTML, CSS and a little JS. No framework, so pages load fast and are easy to index. Anything that needs a secret (the model call, payment verification) lives in a serverless function under /api. The browser never sees an API key.
No accounts, no passwords. After checkout, Lemon Squeezy emails a license key. The app asks for that key, and the /api function validates it against the Lemon Squeezy license API before doing any work. The key also tracks how many credits remain (for example 3 photos). That removes sign-up friction and means there is no user database to protect.
Photos are processed in memory and sent only to the image model provider for generation. We never write them to disk, a database or a bucket, and results go straight to the browser. State this plainly on the page; users care.
If a generation fails (no image comes back or the model errors), the credit is automatically returned and the user can retry for free. Failed generations, service errors and unused codes within 7 days are refunded; once a result is delivered, change-of-mind refunds aren't offered. Decide this before launch, because it drives the credit-accounting logic in the API.
Single-purpose tools win on long-tail searches. I generate many small landing pages (one per use case) from a template and data file, then submit the new and changed URLs to IndexNow after each release (a small script batches and pings them), so Bing and others pick up changes quickly. Keep each page genuinely useful, not thin.
If you want to see the apps behind these examples: Sadana