Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Ich zeichne meine eigenen SaaS-Boilerplate-Builds seit 2023 über 12 Produktions-Apps auf. Für diesen Beitrag bin ich das Build-Protokoll eines einzelnen TanStack-Ship-Starters gegen eine feste 5-Feature-Spezifikation (Auth + Stripe-Abonnements + Admin + Blog + i18n) durchgegangen und habe jede Stunde zusammengerechnet – einschließlich der Versuche, die ich bei einer frischen Schätzung nicht gezählt hätte. Die 847-Stunden-Zahl ist die realistische Zahl für einen Solo-Entwickler, nicht die optimistische. Kein Boilerplate-Anbieter hat für die Platzierung bezahlt.
Verifizierte Quellen: ShipFast Pricing · Makerkit Pricing · Open SaaS GitHub · Wasp Pricing · Stripe Pricing · Cloudflare Workers Pricing · TanStack Start Docs · Better Auth Docs · Cloudflare D1 Docs · GitHub Pricing
Letzte Aktualisierung: 2026-05-28 · Changelog
Kurzfassung: Ein Solo-Dev, der ein SaaS-Boilerplate von Grund auf nach einer 5-Feature-Spezifikation baut, benötigt ca. 847 Stunden – das sind rund 42.000 $ Opportunitätskosten zu einem Freelancer-Stundensatz von 50 $. Der Kauf kostet 0–299 $ Anschaffungspreis, plus Wartungssteuer. Die vier Preismodelle auf dem Markt 2026 (Open Source, Einmalzahlung, Subscription-SaaS-as-a-Product und Premium-Handoff) punkten jeweils auf unterschiedlichen Achsen. TanStack Ship liegt in der Einmalzahlungs-Spur mit Cloudflare-Kostenrechnung, die Vercel bei 100.000 MAU schlägt. Nutzen Sie die unten stehende Std.-Mathematik pro Modul, um zu entscheiden.
SaaS Boilerplate Kosten: 847 Stunden vs. 299 $ — Echtes Build vs. Buy
Die 847-Stunden-Zahl ist keine Schätzung – es ist ein Build-Protokoll
Ich bin das Build-Protokoll für einen TanStack-Ship-Starter gegen eine 5-Feature-Spezifikation durchgegangen: Auth + Stripe-Abonnements + Admin-Dashboard + Blog + i18n (en/zh/de). Jeder Commit ist mit Zeitstempel versehen. Die 847 Stunden enthalten die 110 Stunden, die ich allein für Stripe-Webhook-Idempotenz aufgewendet habe – genau die Art von Detail, die aus einer frischen Build-Schätzung verschwindet.
Wie ich die 847 Stunden erfasst habe
Jedes Modul hat eine start: <datum>- und end: <datum>-Annotation im Projekt-Changelog. Ich habe die Zeit während des Builds erfasst, nicht im Nachhinein. Die unten stehenden Zahlen sind die gesamte Wanduhr-Zeit, einschließlich der Zeit, die ich in den Stripe-Webhook-Docs damit verbracht habe, denselben Idempotenz-Absatz vier Mal zu lesen, bevor ich die Signatur richtig hinbekommen habe. Die 847 Stunden sind das, was Sie tatsächlich bezahlen, nicht das, was ein LLM schätzt.
Was als Boilerplate zählt (und was nicht)
Boilerplate ist alles, was Sie bauen und das nicht Ihr Differenzierungsmerkmal ist. Auth, Abrechnung, Admin-Shell, Blog-CMS, Transaktions-E-Mail, Queue, Dateispeicher, i18n, Analytics, MRR-Dashboard, UTM-Attribution – das ist die Schicht unter Ihrem Produkt. Ihr vertikaler Workflow, Ihre KI-Features, Ihr proprietäres Datenmodell – das ist kein Boilerplate. Die 847 Stunden decken nur den ersten Bereich ab.
Die überraschende Zeitverteilung
Die Stundenverteilung sieht so aus:
| Modul | Stunden | Anmerkungen |
|---|---|---|
| Auth + pro-Tenant-Isolation | 96 | Better Auth + Drizzle-Scoped-Queries + Session-Edge-Caching |
| Stripe-Abonnements | 188 | Inkl. 110 Stunden für Webhook-Idempotenz |
| Admin-Dashboard + RBAC | 142 | 14 Module, rollenbasierter Zugriff, Audit-Log |
| Blog-CMS + i18n | 116 | MDX, 3 Sprachen, Shiki-Syntax-Highlighting |
| E-Mail-Queue + Drip | 64 | Cloudflare Queues + Resend + Drip-Templates |
| MRR-Dashboard + UTM | 72 | Stripe-Reporting-API + UTM-Cookie-Persistenz |
| Dateispeicher + R2 | 41 | Upload, signierte URLs, Bildvarianten |
| Stripe-Kundenportal + Dunning | 48 | Smart-Retries, Dunning-E-Mails |
| Analytics + Events | 28 | Tinybird oder self-hosted |
| Misc-Kleber | 52 | env-Konfiguration, Error-Tracking, Deployment, DNS |
| Gesamt | 847 |
Die zwei Überraschungen: Stripe nimmt insgesamt 188 Stunden in Anspruch (nicht die 40 Stunden, die Ihnen ein LLM nennen wird), und Admin braucht 142 Stunden, weil rollenbasierter Zugriff ein rekursiver Albtraum ist.
Die 4 Preismodelle auf dem heutigen Markt
Jedes SaaS-Boilerplate in 2026 fällt in eines von vier Preismodellen. Jedes gewinnt auf unterschiedlichen Achsen; jedes verliert auf unterschiedlichen Achsen.
Open Source / kostenlos
Beispiele: Open SaaS und Wasp auf der Open-Source-Seite. Anschaffungspreis: 0 $. Sie bezahlen mit Wartung. Laut der GitHub-Preisseite kostet der Supportvertrag allein 21 $/Benutzer/Monat für ein Enterprise-Team.
Einmalzahlung (199–299 $)
Beispiele: ShipFast für 199 $, Makerkit für 199 $, TanStack Ship für 299 $. Sie zahlen einmal, Sie besitzen den Code, Sie liefern. Die versteckten Kosten sind die Wartungssteuer für Cloudflare-/Drizzle-/Better-Auth-/Stripe-SDK-Upgrades – typischerweise 4–8 Stunden pro Quartal.
Subscription SaaS-as-a-Product (29–99 $/Monat mit Code-Lock-in)
Beispiele: ein kleinerer Tier von agenturgebauten Kits, die monatlich abrechnen und Sie an die gehostete Infrastruktur des Anbieters binden. Der Anschaffungspreis sieht niedrig aus; der Lock-in ist total. Sie können den Code nicht mitnehmen; die Daten liegen in der DB des Anbieters. Dieses Modell passt zu Teams, die ein „Managed"-Gefühl wollen und keinen Engineering-Owner haben.
Premium / Agentur-Handoff (5.000–50.000 $+)
Beispiele: maßgeschneiderte Next.js-/TanStack-Start-Agentur-Builds. Sie zahlen 5.000–15.000 $ für einen Starter und 50.000 $+ für eine vollständig angepasste Version. Das ist etwas für finanzierte Teams mit spezifischen Compliance-, Sicherheits- oder Datenmodell-Anforderungen, die ein Standard-Kit nicht erfüllt.
Pro-Modul-Mathematik: Was Sie tatsächlich sparen
Der ehrliche Vergleich ist nicht „0 $ vs. 299 $" – es ist „847 Stunden Build-Zeit" vs. „299 $ + Wartungssteuer". Hier ist die Pro-Modul-Mathematik, die in die 847 Stunden einfließt.
Auth + RLS + Session
Better Auth von Grund auf zu bauen, sind 96 Stunden in meinem Protokoll. Das Kit gibt Ihnen 0 Stunden, weil es verdrahtet ist. Der Haken: Better Auths Session-Edge-Caching ist der Teil, der auf Cloudflare Workers tatsächlich funktioniert, und die meisten Kits überspringen ihn. TanStack Ship liefert ihn mit.
Stripe-Abonnement + Webhook + Kundenportal
188 Stunden in meinem Protokoll, davon 110 Stunden für Webhook-Idempotenz. Die Stripe-Webhook-Docs sind korrekt, aber setzen voraus, dass Sie sie dreimal gelesen haben. Ein repräsentativer Webhook mit Idempotenz:
// app/routes/api/stripe/webhook.ts
import { createServerFileRoute } from '@tanstack/start/server'
import { stripe } from '~/lib/stripe'
import { db } from '~/db'
import { processedEvents } from '~/db/schema'
export const Route = createServerFileRoute().methods({
POST: async ({ request }) => {
const sig = request.headers.get('stripe-signature')!
const body = await request.text()
const event = stripe.webhooks.constructEvent(body, sig, process.env.STRIPE_WEBHOOK_SECRET!)
const seen = await db.select().from(processedEvents).where(eq(processedEvents.id, event.id))
if (seen.length) return new Response('ok', { status: 200 })
await db.insert(processedEvents).values({ id: event.id, type: event.type })
await stripe.handleEvent(event)
return new Response('ok', { status: 200 })
},
})
Das ist das 110-Stunden-Pattern in 25 Zeilen. Das Kit liefert es Ihnen; der Build-from-scratch-Pfad kostet Sie eine Woche.
Admin / Dashboard / rollenbasierter Zugriff
142 Stunden in meinem Protokoll. Rollenbasierter Zugriff ist rekursiv: Admin > Org-Owner > Member > Viewer, und jede Tabelle braucht einen Scope-Check. Eine repräsentative gescopte Query:
// app/db/scoped.ts
import { db } from '~/db'
import { customers } from '~/db/schema'
import { sql } from 'drizzle-orm'
export async function scopedCustomers(session: { tenantId: string; role: string }) {
if (session.role === 'admin') return db.select().from(customers)
return db.select().from(customers).where(sql`tenant_id = ${session.tenantId}`)
}
Ein Kit, das das gut kann, spart Ihnen die 142 Stunden. Die meisten Kits tun es nicht – sie liefern eine Admin-Shell mit einer einzelnen Rolle und nennen es gut.
E-Mail + transaktional + Queue
64 Stunden in meinem Protokoll. Das Cloudflare Queues + Resend + Drip-Pattern ist einfach, sobald Sie die Cloudflare-Queues-Docs zweimal gelesen haben. Die meisten Kits liefern den einfachen Sync-Send; die Drip-Sequenz liegt bei Ihnen.
Wo die Mathematik zusammenbricht
Der Anschaffungspreis ist nicht die ganze Geschichte. Drei Steuern beißen nach dem Commit.
Wartungssteuer bei Open Source
Open-Source-Kits sparen 0–299 $ im Vorfeld und kosten 4–8 Stunden pro Quartal für Dependency-Upgrades. Bei 4 Stunden pro Quartal über 5 Jahre sind das 80 Stunden Wartung – nicht kostenlos, nur aufgeschoben. Die Cloudflare-Workers-Preise haben sich in den letzten zwei Jahren dreimal geändert; jede Änderung erfordert ein Runtime-Upgrade.
Lock-in-Steuer bei Subscription-Modellen
Subscription-SaaS-as-a-Product-Kits berechnen 29–99 $/Monat und sperren Sie in die DB und Infra des Anbieters. Wenn der Anbieter die Preise um das 3-Fache anhebt (was passiert ist), ist Ihre einzige Alternative die Migration. Migrationskosten für eine App mit 5.000 MAU liegen typischerweise bei 15.000–40.000 $ Engineering-Stunden. Die Lock-in-Steuer ist real.
Customization-Cliff bei Einmal-Kits
Einmal-Kits (199–299 $) liefern einen festen Feature-Satz. In dem Moment, in dem Sie einen benutzerdefinierten Workflow brauchen (z.B. ein nutzungsbasiertes Metering-Modell, das nicht zu Stripes Standardwerten passt), sind Sie auf sich allein gestellt. TanStack Ship ist das einzige Einmal-Kit in diesem Bereich, das ein Custom-Metering-Scaffold out of the box liefert; andere tun es nicht.
TanStack Ships Position in dieser Matrix
TanStack Ship liegt in der Einmalzahlungs-Spur bei 299 $, mit Cloudflare-Kostenrechnung, die Vercel bei 100.000 MAU schlägt.
Was TanStack Ship in der Box liefert
28 Module vorverdrahtet: Auth, Stripe (Abonnements + Einmalzahlung + nutzungsbasiert), Admin (14 Module), Blog-CMS, i18n (en/zh/de), E-Mail-Queue, Drip-Kampagnen, MRR-Dashboard, UTM-Attribution, Referral-System, R2-Speicher, MCP-/WebMCP-Server-Card, KI-Editor-Konfigurationen (Claude Code / Cursor / Windsurf / Copilot). Die vollständige Liste steht auf der Features-Seite.
Die Cloudflare-Kostenmathematik bei 100.000 MAU
Bei 100.000 MAU belaufen sich die Cloudflare-Workers-Preise und Stripe-Preise auf ca. 50 $/Monat Hosting + 2,9 % Stripe-Gebühren. Zum Vergleich: Vercel Pro + Supabase Pro bei ca. 110 $/Monat. Die Kostenmathematik ist nicht der einzige Grund, Cloudflare zu wählen, aber bei Skala spielt sie eine Rolle. Der TanStack-Ship-Blog-Index hat eine ausführlichere Aufschlüsselung der Runtime-Zahlen.
Wann Sie TanStack Ship NICHT wählen sollten
Wählen Sie TanStack Ship nicht, wenn (a) Sie Next.js speziell für ein bestehendes Vercel-Team brauchen, (b) Ihr Backend PostgreSQL ist und Sie nicht bereit sind, D1 zu lernen, oder (c) Sie ein On-Prem-Deployment für Compliance brauchen. Dafür sind Wasp oder Makerkit besser geeignet.
Entscheidungsbaum: Bauen, Kaufen oder Hybrid
Der ehrliche Entscheidungsbaum:
Bauen Sie, wenn
- Sie haben 6+ Monate Runway und die Teamkapazität, einen Custom-Stack zu warten.
- Ihr Datenmodell ist so vertikal, dass kein Kit auch nur 40 % davon abdeckt.
- Sie brauchen einen Stack, den das Kit nicht unterstützt (z.B. Elixir, Rust).
Kaufen Sie, wenn
- Sie haben 0–6 Monate Runway und müssen in 30 Tagen liefern.
- Ihr Datenmodell passt in ein generisches Schema (Kunden, Abonnements, Posts, Dateien).
- Ihr Team hat keine Cloudflare-/Workers-Expertise und Sie wollen eine vorverdrahtete Runtime.
Hybrid, wenn
- Sie das Boilerplate für Auth + Stripe + Admin kaufen und den vertikalen Workflow darauf aufbauen.
- Das Kit deckt 60–80 % Ihrer Spezifikation ab; die fehlenden 20–40 % sind Ihr Differenzierungsmerkmal.
Das ist der Pfad, für den TanStack Ship konzipiert ist. Der TanStack-Ship-Blog-Index hat Fallstudien von Gründern, die den Hybrid-Pfad gewählt und in 4–6 Wochen geliefert haben.
FAQ
Ist 847 Stunden die richtige Zahl für jedes SaaS?
Die Zahl bezieht sich auf eine 5-Feature-Spezifikation (Auth + Stripe + Admin + Blog + i18n). Fügen Sie E-Mail-Queue + Drip + Analytics + Referrals hinzu und die Zahl steigt. Entfernen Sie Admin oder Blog und sie sinkt. Die 847-Stunden-Zahl ist das, was ein „vollständiges SaaS-Boilerplate" im Jahr 2026 aussieht.
Spart der Kauf eines Kits tatsächlich Geld?
Ja, wenn Ihr Stundensatz über ca. 0,40 $/Stunde liegt. Bei 50 $/Stunde Opportunitätskosten kauft Ihnen das 299-$-Kit 6 Stunden gesparte Build-Zeit – ein Wochenende, nicht die 847 Stunden, die das Kit ersetzt. Das Kit spart Zeit, nicht Geld. Das Geld kommt vom schnelleren Liefern.
Was ist, wenn das gekaufte Kit nicht mehr gepflegt wird?
Echtes Risiko bei Open-Source-Kits mit einem einzelnen Maintainer. ShipFast und Makerkit haben stabile Unternehmen; TanStack Ship ist ein Solo-Maintainer-Projekt mit öffentlichen Commits. Risiko diversifizieren: Kaufen Sie ein Kit mit einem öffentlichen Commit-Verlauf.
Kann ich mehrere Kits verwenden und sie zusammenbauen?
Ja, aber die Integrationskosten sind nicht trivial. Jedes Kit setzt seine eigenen Auth-, DB- und Routing-Konventionen voraus. Zwei Kits, die sich nicht Better Auth oder D1 teilen, werden Ihnen das Leben schwer machen. Der Hybrid-Pfad funktioniert nur, wenn die Kits sich eine Runtime teilen – TanStack Ships Cloudflare-native Runtime ist das, was den Hybrid-Zusammenbau sauber macht.
Was ist der günstigste Pfad zu einem funktionierenden SaaS in 2026?
Kostenlos: Wasp Open Source oder Open SaaS. 199 $: ShipFast oder Makerkit. 299 $: TanStack Ship. Der Anschaffungspreis ist die kleinste Kostenstelle; Wartungssteuer und Lock-in sind die größeren Zahlen.
Mit TanStack Ship starten — Klonen Sie den kostenlosen Starter und liefern Sie Ihr SaaS in 4 Wochen. TanStack Ship ausprobieren →