Fragen, die Indie-Gründer wirklich stellen
Alles über den Aufbau und Verkauf eines AI-SaaS mit make1day: Auth, Checkout, KI, Deployment, White-Label und Lizenzen — inklusive der Grenzen, die wir nicht verstecken.
12 Q&A · Blog: make1day
Gepflegt vom make1day-Team · zuletzt aktualisiert 2026-11-08
Enthält das Starter einen Nutzer- und einen Admin-Bereich?+
Ja: /account (Profil, Abonnement, ausgestellte Lizenzschlüssel) und /admin (Nutzer, Lizenzen, Traffic, Bestellungen). Beide sind fünfsprachig und inzwischen beschreibbar: PATCH /api/profile, PATCH /api/admin/users, /api/billing/portal und /admin/tickets. Wer account oder admin im Builder abwählt, entfernt den gesamten Routenbaum aus dem ZIP.
Wie erhalte ich nach der Zahlung meinen Lizenzschlüssel?+
Der bezahlte Webhook stellt den Schlüssel aus und sendet ihn automatisch an die Checkout-Adresse (idempotent pro Schlüssel). Fehlgeschlagene Zustellungen landen in mail_outbox und werden über /api/cron/mail-outbox erneut versucht. Für Gast-Checkout oder abweichende Login-Adressen gibt es das Rücksendeformular auf /license. Für den Livebetrieb müssen MAIL_PROVIDER und ein Host-Cron konfiguriert werden.
Welche Zahlungsanbieter werden unterstützt?+
Waffo Pancake (Standard-Merchant-of-Record), Waffo Acquiring, Stripe, Creem, PayPal, Lemon Squeezy sowie none. Alle teilen dieselbe Schnittstelle. Fehlende oder ungültige Signaturen liefern 400; eine gültig signierte, aber leere Eventliste liefert 200 ignored. npm run probe:webhook prüft diesen Vertrag offline.
Wie funktioniert die Authentifizierung?+
Mit Supabase Auth: Magic Link und OAuth (Google/GitHub/Apple/Microsoft), RLS standardmäßig aktiv. Ohne Supabase greift lokales SQLite: Passwort-Anmeldung (scrypt-Hash, Sessions nur als Hash), Passwort-Reset und E-Mail-Verifizierung. Es fehlen weiterhin MFA, OAuth und Session-Rotation.
Welche KI-Funktionen sind enthalten?+
/api/ai liefert echtes text/plain-Streaming für OpenAI-kompatible APIs (OpenAI / OpenRouter / DeepSeek / Groq), Anthropic Claude und Google Gemini. Pro Nutzer gilt ein Tageskontingent (AI_MESSAGES_PER_DAY, Standard 50); bei Erschöpfung antwortet die API mit 429 und einem korrekten Retry-After.
Funktioniert das RAG-Modul wirklich?+
Ja: BM25 (lateinische Wörter plus CJK-Uni-/Bi-Gramme) wird mit dichten Embeddings per RRF (k=60) fusioniert und liefert [n]-Zitate. Ohne Embedding-Key wird automatisch auf BM25 reduziert. Die Dokumentablage liegt standardmäßig im Prozessspeicher und geht beim Neustart verloren — für Produktion ist ein persistenter Store nötig.
Ist das ZIP wirklich frei von eurer Marke?+
Ja, und das wird in CI geprüft. Startseite, Preise, Sitemap, robots und Rechtsseiten werden aus der Kundenkonfiguration neu erzeugt; Marketingseiten, Markenstrings und der Generator selbst werden entfernt. pack.ts durchsucht alle Textdateien des ZIPs, und die 18 Matrixfälle prüfen auf Markenreste, tote Links und Generator-Dateien.
Wohin kann ich die generierte App deployen?+
Vercel, Cloudflare Workers über den OpenNext-Adapter (nodejs_compat) oder ein eigener Node-Server. Workers hat keinen beschreibbaren Datenträger: node:sqlite funktioniert dort nicht, daher ist Supabase für dieses Ziel Pflicht. Lokales SQLite ist nur für die Entwicklung gedacht und in Serverless-Umgebungen nicht dauerhaft.
Wie lautet die Erstattungsregel?+
Der Buyout ist innerhalb von 14 Tagen nach Kauf erstattungsfähig. Wir knüpfen das nicht daran, ob das ZIP heruntergeladen wurde. Download-, Aktivierungs- und Key-Mail-Ereignisse werden in delivery_events mit gehashter Adresse protokolliert — als Nachweis für Supportfälle, nicht als Erstattungsbedingung.
Wird SMTP für Transaktionsmails unterstützt?+
Nein. MAIL_PROVIDER akzeptiert resend (REST), webhook (eigener HTTP-Mailer) oder none (sicherer No-op); smtp ist ein reservierter, NICHT IMPLEMENTIERTER Wert. Eine dauerhafte Retry-Queue (mail_outbox) existiert, aber der Scheduler muss hostseitig konfiguriert werden. SPF/DKIM/DMARC bleiben DNS-Arbeit.
Wie finden KI-Antwortmaschinen diese Seite?+
Über llms.txt, llms-full.txt, einen OpenAPI-3.1-Vertrag, /api/mcp, /.well-known/agent-card.json, die Markdown-Varianten /blog/<slug>/md, ?format=md auf jeder öffentlichen Seite, JSON-LD-Graphen (FAQPage, BlogPosting, BreadcrumbList …) und eine robots.txt, die KI-Crawler explizit erlaubt.
Kann ich meine Daten exportieren oder löschen?+
Angemeldet liefert /api/privacy/export eine JSON-Datei; /api/privacy/erase löscht nach exakt übereinstimmendem confirmEmail. Bestell- und Lizenzzeilen bleiben aus Buchhaltungsgründen erhalten, die Adresse wird irreversibel ersetzt. POST /api/cron/retention entfernt befristete Datensätze nach 90 Tagen, niemals ausstehende Mails.