Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Ich habe in den letzten 18 Monaten 3 SaaS-Apps als Solo-Founder ausgeliefert — PlanTier (B2B-Preisseiten), QuotedReply (Cold-Outreach-Antwortassistent) und MicrosaasBench (öffentliche Rangliste). Die kollektive MRR hat im März 2026 die 2.000 $-Marke überschritten. Keine dieser Apps erforderte es, Auth, Billing, E-Mail, Deployment oder Cron-Glue von Hand zu schreiben, denn TanStack Ship ist rund um genau diese Überspring-Liste aufgebaut. Dieser Beitrag ist das Feldnotizbuch: die 9 Module, die ich nicht mehr von Hand baue, die versteckten Kosten jedes einzelnen, ehrliche Trade-offs vs. ShipFast, Makerkit und Open SaaS — und die Fälle, in denen ich TanStack Ship als Solo-Founder nicht wählen würde.
Verifizierte Quellen: TanStack Start · Cloudflare Workers Pricing · Cloudflare D1 · Cloudflare R2 Pricing · Stripe Subscriptions · Stripe Webhooks · Better Auth · Resend · Drizzle ORM · PostHog Cloudflare
Letzte Aktualisierung: 2026-05-19 · Changelog
TanStack Ship for Solo Founders: 9 Dinge, die Sie nicht selbst bauen
TL;DR: Ich habe 3 SaaS-Apps in 18 Monaten solo mit TanStack Ship ausgeliefert — kollektiv 2.000 $ MRR bis März 2026, Hosting-Rechnung 8–14 $/Monat beim aktuellen Traffic. Die 9 Module, die ich nie mehr von Hand schreibe: Auth, Datenbank, Billing, Transaktionale E-Mails, Object Storage, Cron, Analytics, AI-Gateway, Deployment + Observability. Ehrliche Trade-offs vs. ShipFast (Community), Makerkit (UI) und Open SaaS (Preis) — plus die Kostenrechnung bei 100 / 1.000 / 10.000 zahlenden Nutzern und die 3 Fälle, in denen ich trotzdem einen anderen Stack wählen würde.
Warum „Ich baue es einfach selbst" die teuerste Entscheidung ist, die ein Solo-Founder treffen kann
Solo-Founder hören „Verschwenden Sie kein Geld für SaaS" und machen das Gegenteil: „Ich sollte alles selbst bauen." Diese Rechnung geht nur auf, wenn Ihre Zeit 0 € wert ist und Ihr Wochenendvorrat unendlich. Für die meisten Solo-Founder, mit denen ich 2026 gesprochen habe — mich eingeschlossen — trifft beides nicht zu.
Zeit ist die einzige Ressource, die Sie nicht zurückkaufen können
Ein Solo-Founder hat etwa 30 produktive Stunden pro Woche, wenn man den Hauptjob und den Schlafschuld abzieht. Jede Stunde, die Sie damit verbringen, Better Auth zu verdrahten oder einen Stripe-Webhook zu debuggen, ist eine Stunde, die Sie nicht mit dem verbringen, was sich wirklich verzinst — der Produktfläche, die Ihre Kunden bezahlen. Die 9 Module unten sind keine „Arbeit" — sie sind Substitution. Die Arbeit ist das, was der Kunde sieht.
Context-Switching hat eine messbare Steuer
Die Kosten sind nicht nur die Verdrahtungszeit. Es sind auch die 25 Minuten, die verloren gehen, weil Sie jedes Mal, wenn Sie zu einem Modul zurückkehren, das Sie einmal verdrahtet und dann vergessen haben, die relevanten Docs neu laden müssen. Über 3 Produkte und 18 Monate zeigt mein Kalender, dass ich jedes der 9 Module unten maximal zweimal pro Jahr anfasse — sie werden einmal verdrahtet und nie wieder geöffnet. Die DIY-Version zwingt mich, sie bei jedem Projekt neu abzuleiten.
Wartung summiert sich schneller, als Sie denken
Ein Solo-Founder, der Stripe in Produkt 1 von Hand verdrahtet hat, muss es in Produkt 2 erneut debuggen, wenn Stripe eine neue API-Version veröffentlicht. Dann in Produkt 3. Die Kosten summieren sich pro Produkt; die Einsparungen beim Überspringen skalieren linear. Das ist die Ökonomie eines Boilerplates: Die Module werden über die Produkte amortisiert, die Sie tatsächlich ausliefern.
Die 9 Module, die TanStack Ship von Ihrer Solo-Founder-Liste streicht
Unten ist die Überspring-Liste. Für jedes Modul erkläre ich, was es tut, was DIY tatsächlich kostet, und den einen Fallstrick, der Solo-Founder am härtesten trifft. Die vollständige Modulspezifikation finden Sie auf der Feature-Seite; die Preise stehen auf der Preisseite.
#1 — Authentication (Better-Auth-Modul)
Better Auth liefert Google OAuth, GitHub OAuth und E-Mail-Magic-Link out of the box, mit dem JWT-Cookie-Session, das auf dem Cloudflare Workers Edge Runtime korrekt funktioniert. Was DIY kostet: 6–10 Stunden beim ersten Mal, plus das Edge-Session-Race im Postmortem, das weitere 4 Stunden um 2 Uhr nachts kostet.
// src/lib/auth.ts
import { betterAuth } from "better-auth";
import { magicLink } from "better-auth/plugins";
export const auth = betterAuth({
database: context.env.DB, // D1 binding
emailAndPassword: { enabled: true, requireEmailVerification: true },
plugins: [
magicLink({
sendMagicLink: async ({ email, url }) => {
await context.env.RESEND_API.emails.send({
from: "[email protected]",
to: email,
subject: "Sign in to PlanTier",
html: `<a href="${url}">Click to sign in</a>`,
});
},
}),
],
socialProviders: {
google: {
clientId: context.env.GOOGLE_CLIENT_ID,
clientSecret: context.env.GOOGLE_CLIENT_SECRET,
},
},
});
#2 — Datenbankschema und Migrationen (D1 + Drizzle)
D1 ist SQLite am Edge, und Drizzle ist die TypeScript-Schemadiener. Was DIY kostet: 2–3 Stunden für das Schema, weitere 2 Stunden für Migrationen, plus die Type-Safety-Arbeit, wenn Sie Drizzle überspringen. Das Überspringen bringt Ihnen ein typisiertes Schema, das über 3 Produkte hinweg Bestand hat.
// src/db/schema.ts
import { sqliteTable, text, integer } from "drizzle-orm/sqlite-core";
export const users = sqliteTable("users", {
id: text("id").primaryKey(),
email: text("email").notNull().unique(),
stripeCustomerId: text("stripe_customer_id"),
plan: text("plan").notNull().default("free"),
createdAt: integer("created_at", { mode: "timestamp" }).notNull(),
});
export const projects = sqliteTable("projects", {
id: text("id").primaryKey(),
userId: text("user_id").notNull().references(() => users.id),
name: text("name").notNull(),
createdAt: integer("created_at", { mode: "timestamp" }).notNull(),
});
#3 — Billing und Abonnements (Stripe)
Stripe Subscriptions werden als Server-Funktion plus Webhook-Route ausgeliefert. Was DIY kostet: 8 Stunden beim ersten Mal, einschließlich Customer-Portal-Redirect, Trial-Day-Logik und Signaturverifizierung. Der Vorteil: Eine verifizierte Route, die Stripe-API-Upgrades übersteht, weil sie eine bestimmte API-Version pinnt.
// src/routes/api/stripe/webhook.ts
import Stripe from "stripe";
const stripe = new Stripe(context.env.STRIPE_SECRET_KEY, {
apiVersion: "2024-06-20",
});
export async function POST({ request, context }: APIContext) {
const sig = request.headers.get("stripe-signature")!;
const body = await request.text();
const event = await stripe.webhooks.constructEventAsync(
body,
sig,
context.env.STRIPE_WEBHOOK_SECRET,
);
if (event.type === "customer.subscription.created") {
const sub = event.data.object as Stripe.Subscription;
await context.env.DB.prepare(
"UPDATE users SET plan = ?, stripe_customer_id = ? WHERE id = ?"
)
.bind(sub.items.data[0].price.id, sub.customer as string, sub.metadata.userId)
.run();
}
return new Response("ok", { status: 200 });
}
#4 — Transaktionale E-Mails (Resend)
Resend versendet Willkommens-, Passwort-Reset-, Beleg- und Abonnement-Kündigungs-E-Mails. Was DIY kostet: 2 Stunden zum Verdrahten plus einen halben Tag für SPF/DKIM/DMARC, sobald Gmail Sie in den Spam filtert. Der Vorteil: Eine verifizierte Sending-Domain-Konfiguration und das @resend/cloudflare SDK.
#5 — Object Storage und Uploads (Cloudflare R2)
R2 ist S3-kompatibler Storage ohne Egress-Gebühren. Was DIY kostet: 4–6 Stunden beim ersten Mal, einschließlich Signed-URL-Handler und CORS-Konfiguration. Der Vorteil: Ein Presigned-URL-Handler, der direkt vom Browser aus an R2 POSTed.
#6 — Cron und geplante Jobs (Workers Cron Triggers)
Workers Cron Triggers führen geplante Jobs auf Basis eines Cron-Ausdrucks aus. Was DIY kostet: 2 Stunden plus das „Hat dieser Cron tatsächlich ausgeführt"-Debugging, wenn er stillschweigend fehlschlägt. Der Vorteil: Ein Single-Instance-Cron-Handler mit den richtigen Idempotenz-Keys.
#7 — Analytics und Produkt-Telemetrie (PostHog)
PostHogs Cloudflare-Workers-Integration verdrahtet Event-Tracking und Session-Replay. Was DIY kostet: Analytics selbst zu bauen ist eine 20-Stunden-Falle. Der Vorteil: PostHogs Free-Tier deckt 1 Mio. Events/Monat ab — genug für die ersten 1.000 zahlenden Nutzer.
#8 — AI-Gateway und Embeddings (Workers AI + Vectorize)
QuotedReply nutzt Workers AI für Inferenz und Vectorize für Embeddings. Was DIY kostet: Eine separate OpenAI-Rechnung plus eine handgerollte Embedding-Pipeline. Der Vorteil: Ein Unified Gateway, der zwischen Workers AI (günstig), OpenAI (gut) und Anthropic (großartig) mit einer einzigen Config-Änderung routet.
#9 — Deployment, Observability und Rollback (wrangler + Workers Logs)
wrangler ist das Deployment-CLI; Workers Logs ist die Observability-Schicht. Was DIY kostet: Jeder Solo-Founder, der ein Deployment-Skript von Hand gerollt hat, hat die Geschichte „Ich habe deployed und am Freitag Prod kaputt gemacht". Der Vorteil: pnpm run deploy → 30-Sekunden-Global-Rollout → Ein-Kommando-Rollback über das Cloudflare-Dashboard.
Wo andere Solo-Founder-Boilerplates ehrlich gewinnen
Ich habe 4 Solo-Founder-Boilerplates ausgeliefert oder getestet. Jedes gewinnt auf einer anderen Achse.
ShipFast — gewinnt bei der Community
ShipFast hat die größte Founder-Discord. Wenn Ihr MVP von einer Nischenintegration abhängt — Plaid, Twilio, Linear API — gibt es im Discord einen Thread von jemandem, der es verdrahtet hat. Wo TanStack Ship die Nase vorn hat: Cold-Start-Latenz bei Edge AI. ShipFast ist Vercel-first; der Cold Start zeigt sich in der ersten Sekunde jeder Chat-Completion.
Makerkit — gewinnt bei UI-Politur
Makerkit liefert die polierteste UI für Solo-Founder. Bei B2C-MVPs, bei denen die UI der Konversionshebel ist, spart das shadcn/ui-Theming 2 Design-Tage. Wo TanStack Ship die Nase vorn hat: Cloudflare-native AI-Bindings und die Deploy-Observability, die Makerkit nicht mitliefert.
Open SaaS — gewinnt bei kostenlos + MIT
Open SaaS ist das qualitativ hochwertigste kostenlose + MIT-lizenzierte Boilerplate. Wenn das Budget 0 € beträgt und Sie die Entscheidung gegenüber Investoren verteidigen müssen, ist Open SaaS die sichere Wahl. Wo TanStack Ship die Nase vorn hat: Das AI-Gateway und die Drizzle-Schemadiener, die Open SaaS nur anreißt. Für die Entscheidungstabelle im Vergleich, sehen Sie den Vergleichs-Hub.
Wann TanStack Ship die falsche Wahl für einen Solo-Founder ist
Wenn Sie Mobile-First brauchen
TanStack Ship ist Web-first. Die shadcn/ui-Komponenten sind Desktop-Klasse. Wenn Ihr MVP eine React Native oder Expo-Shell benötigt, ist TanStack Ship der falsche Ausgangspunkt. Wählen Sie ein Mobile-First-Boilerplate oder planen Sie eine Woche für die Expo-Integration.
Wenn Ihr zukünftiger Arbeitgeber Vercel-vorschreibt
Wenn Ihr Runway-Plan „Nach diesem MVP in eine Vercel-Firma eintreten" lautet, kaufen Sie sich Optionalität, indem Sie auf Vercel ausliefern. Die Next.js App Router-Erfahrung überträgt sich sauber; die TanStack Start-Erfahrung nicht. Seien Sie ehrlich darüber, welche Fähigkeit Sie kaufen.
Wenn Sie die Schichten lernen wollen, anstatt sie zu überspringen
Wenn das Ziel des Projekts ist, Stripe-Webhooks Ende-zu-Ende zu lernen — ein legitimes Lernziel — dann ist das Überspringen der Verdrahtung die falsche Wahl. Ein Solo-Founder im Lernmodus sollte mindestens eines der 9 Module von Hand verdrahten. Ein Solo-Founder im Shipping-Modus sollte alle 9 überspringen. Wählen Sie den Modus, bevor Sie das Boilerplate wählen.
Die Kostenrechnung, Solo-Founder-Edition
Unten die Posten-Kosten auf drei Skalierungsstufen. Alle Kosten gehen davon aus, dass das Cloudflare Workers Free-Tier gilt, wo es anwendbar ist.
Bei 100 zahlenden Nutzern
| Service | Kosten | Notizen |
|---|---|---|
| Cloudflare Workers | 0 € | Free-Tier deckt die Workload ab |
| Cloudflare D1 | 0 € | Free-Tier deckt 5 Mio. Zeilen-Lesevorgänge/Tag ab |
| Cloudflare R2 | 0 € | Solo-Nutzer verschieben keine Petabytes |
| Stripe | 2,9 % + 0,30 € pro Transaktion | Nur pro Transaktion |
| Resend | 0 € | Free-Tier deckt 3.000 E-Mails/Monat ab |
| Domain | 12 €/Jahr | Eine .com-Domain |
| Hosting gesamt | 0 €/Monat | Nur Stripe-Gebühren |
Bei 1.000 zahlenden Nutzern
| Service | Kosten | Notizen |
|---|---|---|
| Cloudflare Workers | 5 €/Monat | Bezahlter Plan greift bei anhaltender CPU |
| Cloudflare D1 | 0 € | Noch innerhalb des Free-Tiers (5 Mio. Lesevorgänge/Tag) |
| Cloudflare R2 | 1 €/Monat | Storage + Class-A-Operationen |
| PostHog | 0 € | Free-Tier deckt 1 Mio. Events/Monat ab |
| Stripe | 2,9 % + 0,30 € pro Transaktion | |
| Resend | 0 € | |
| Hosting gesamt | 6–8 €/Monat | Gemäß Micro-SaaS-Kostenrechnung |
Bei 10.000 zahlenden Nutzern
| Service | Kosten | Notizen |
|---|---|---|
| Cloudflare Workers | 25 €/Monat | Bundled Plan |
| Cloudflare D1 | 5 €/Monat | Über Free-Tier |
| Cloudflare R2 | 10 €/Monat | Storage + Operationen |
| PostHog | 0 € | Free-Tier noch ausreichend |
| Workers AI | 10–30 €/Monat | Abhängig vom Inferenzvolumen |
| Stripe | 2,9 % + 0,30 € pro Transaktion | |
| Hosting gesamt | 50–70 €/Monat | Unter 1 % des Umsatzes bei 29 €/Monat ARPU |
Die Kostenrechnung ist der Grund zum Überspringen — jedes Modul, das Sie selbst verdrahten, kostet Sie mehr an Solo-Founder-Stunden, als es an Boilerplate-Gebühren einspart, auf jeder Stufe.
FAQ
Lohnt sich TanStack Ship für einen Solo-Founder mit null Nutzern?
Ja, aber nur, wenn Ihre Zeit mehr als 0 €/Stunde wert ist und Sie vorhaben zu shippen. Wenn Sie in der Phase „Ich habe eine Idee und ein Notizbuch" sind, ist ein kostenloses Boilerplate wie Open SaaS die richtige Wahl. Wenn Sie 5 zahlende Kunden und eine Roadmap haben, ist Ship die richtige Wahl.
Wie schneidet TanStack Ship im Vergleich zu ShipFast für einen Solo-Founder ab?
ShipFast hat eine größere Community und eine größere Template-Bibliothek. TanStack Ship hat Cloudflare-native Tiefe und das AI-Gateway. Für ein Web-SaaS, sehen Sie vs-shipfast. Für ein AI-SaaS speziell hat Ship bei Cold-Start und Workers-AI-Bindings die Nase vorn.
Kann ich als Solo-Founder wirklich Auth und Billing überspringen?
Auth — ja, überspringen Sie es. Better Auth ist auf Cloudflare Workers Edge Runtime verifiziert und spart das Edge-Session-Race im Auth-Postmortem. Billing — ja, überspringen Sie die Verdrahtung, aber Sie besitzen nach wie vor die Preisgestaltung. Preisgestaltung ist Produktarbeit; der Webhook ist Klempnerarbeit.
Was ist mit der Wartungslast bei der Nutzung eines Boilerplates?
Die Boilerplate-Wartung ist real, aber begrenzt. TanStack Ship liefert gepinnte Abhängigkeitsversionen und ein Changelog für jede Breaking Change. Die Solo-Founder-Belastung besteht darin, das Changelog vor jedem Upgrade zu lesen — etwa 15 Minuten pro Quartal.
Wie lange dauert es, ein Solo-SaaS mit TanStack Ship auszuliefern?
PlanTier wurde in 14 Tagen ausgeliefert, solo, ca. 10 Stunden/Woche. QuotedReply in 21 Tagen. MicrosaasBench in 7 Tagen. Der Flaschenhals war immer die kundenorientierte Fläche, nie die 9 Module.
Nächster Schritt: Siehe die Feature-Seite für die 9-Modul-Spezifikation, die Preisseite für Stufenaufstellungen oder den Vergleichs-Hub für die Entscheidungsmatrix vs. ShipFast, Makerkit und Open SaaS. Für die Micro-SaaS-Kostenrechnung, sehen Sie TanStack Ship for Micro-SaaS. Für den 48-Stunden-MVP-Sprint, sehen Sie TanStack Ship for MVPs.