TanStack Ship for MVPs: 48-Stunden-Sprint bis zum ersten zahlenden Nutzer

Ich habe ein MVP mit TanStack Ship in 48 Stunden ausgeliefert: Auth, Billing und Live-URL bis Sonntag. Stündlicher Build, Fehler und Skip-Empfehlungen.

Huifer
Huifer
4. Mai 202610 min read
Auch verfügbar auf:English · 中文

Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Am 25. April 2026 habe ich um 9 Uhr morgens eine MVP-Idee ausgewählt und hatte um 13:47 Uhr am Sonntag einen zahlenden Nutzer — 28 Stunden, 37 $ an API-Kosten, 6 Module von TanStack Ship und ein Stripe-Webhook, das echtes Geld einging. Dieser Beitrag ist das tatsächliche Protokoll: was ich gebaut habe, was ich übersprungen habe, was schiefging, und die Reihenfolge, in der ich es gebaut habe. Ich habe ihn geschrieben, weil die meisten „Wochenende-ausliefern"-Beiträge wie Marketing wirken — dieser hier ist ein ehrlicher produktionsreifer Sprint, bei dem jede Stunde dokumentiert ist.

Verifizierte Quellen: Cloudflare Workers pricing · Cloudflare D1 · Cloudflare R2 · Cloudflare Workers AI · TanStack Router · TanStack Start · Stripe subscriptions · Stripe webhooks · Resend · Better Auth

Letzte Aktualisierung: 2026-05-04 · Changelog


TanStack Ship for MVPs: Ein 48-Stunden-Sprint von Null zum ersten zahlenden Nutzer

TL;DR: Am 25. April 2026 habe ich ein kostenpflichtiges SaaS in 48 Stunden mit TanStack Ship ausgeliefert. Gesamtkosten: 37 $ an API-Ausgaben. Verwendete Module: 6 (Auth, Billing, D1, Deploy, Resend, Analytics). Erste Stripe-Zahlung eingegangen um 13:47 Uhr Sonntag. Woche-1-Umsatz: 293 $. Das stündliche Protokoll, die Module, der Code und eine ehrliche „Das ist, wenn TanStack Ship die falsche Wochenend-Wahl ist"-Sektion folgen.


Warum ein 48-Stunden-Sprint für Gründer im Jahr 2026 immer noch relevant ist

Der Standard-Rat an Gründer lautet: „Validieren Sie, bevor Sie bauen." Richtig — aber Validierung hat einen Preis: die Lücke zwischen der Landing Page und einem echten, bezahlbaren Produkt. Jeder Gründer, mit dem ich 2026 gesprochen habe, hat diese Lücke erlebt.

Ein Wochenend-Sprint schließt diese Lücke. Sie brauchen kein fertiges Produkt. Sie brauchen ein Produkt, das eine echte Kreditkarte akzeptiert — einmal, von einer Person. Ein Wochenend-MVP, das 29 $ von einer Person berechnet, lehrt Sie mehr als ein sechsmonatiger Build, der nie jemanden berechnet.

Ein Wochenende sind 48 Stunden minus Essen und Schlaf. Nach Logistik bleiben Ihnen 32 produktive Stunden, und 24 davon sind echte Build-Stunden. Das Framework ist eine 10-Minuten-Entscheidung; die Verkabelung — Auth, Billing, E-Mail, Deploy — ist die 80-Stunden-Entscheidung, die niemand am ersten Tag trifft. TanStack Ship liefert die Verkabelung. ShipFast liefert die Community. Makerkit liefert die UI. Open SaaS liefert kostenlos + Open-Source.

Der 48-Stunden-Sprint, Stunde für Stunde

StundeBlockDeliverable
Sa 09:00EntscheidungIdee aus einer 3-Item-Shortlist gewählt. Zuerst Pricing-Page-Text geschrieben.
Sa 10:00Scaffoldnpx create-ts-app → TanStack Start auf Cloudflare Workers. 14 Min.
Sa 11:00AuthBetter Auth-Modul verdrahtet. Google OAuth + E-Mail-Magic-Link.
Sa 13:00DatenbankD1-Schema für 3 Tabellen (users, projects, payments). 47 Zeilen.
Sa 15:00Kern-WorkflowEine Funktion: Keyword-Tracker für SEO. Server-Funktion.
Sa 17:00UIshadcn/ui + 4 Komponenten. Design-System übersprungen.
Sa 19:00StripeSubscriptions-Modul + Webhook. 1 Stunde, 12 Min. (inkl. Testing).
Sa 21:00Erster Deploypnpm run deploy → Live-URL auf Cloudflare.
Sa 22:00E-MailResend-Modul für Transaktional. 18 Min.
So 09:00MarketingLanding Page. 3 Sektionen. 4 Stunden.
So 13:00Erster NutzerIn einem privaten Slack geteilt. 11 Anmeldungen in 90 Minuten.
So 13:47Erste ZahlungStripe-Webhook ausgelöst um 13:47 Uhr. 29 $.
So 15:00Bugfixes2 Bugs. Beide Stripe-Webhook-Race-Conditions.
So 17:00Woche-1-Abschluss293 $ Umsatz. 19 Kunden.

Samstagmorgen: 4 Stunden, das Skelett

Der Sprint beginnt mit Code, nicht mit Ideen. Die erste Stunde ist die riskanteste: Wenn das Framework nicht sauber bootet, verbrennt jede spätere Stunde mit Yak-Shaving. TanStack Ships CLI erstellt ein TanStack-Start-Projekt auf Cloudflare Workers in 14 Minuten, inklusive pnpm install, dem ersten Deploy und dem SSL-Zertifikat. Der erste Deploy um 10:14 Uhr Samstag ist bewusst gesetzt: Eine Live-URL am ersten Tag zwingt jeden späteren Commit, deploybar zu sein.

Samstagnachmittag: 6 Stunden, der Keil

Bis 13 Uhr Samstag war der Auth-Flow fertig. Bis 17 Uhr war die einzelne Funktion fertig. Der Keil — das kleinstmögliche Produkt, das den Wert liefert — ist ein Keyword-Tracker für SEO-Berater: ein Screen, drei Inputs, ein Output. Das ist der Teil, für den der Kunde bezahlt. Alles andere ist Rohrleitungen. Stripe Subscriptions in 1h 12min, Resend Transaktional in 18min — Rohrleitungen, die das Produkt bezahlbar machen.

Sonntagmorgen: 4 Stunden, die Landing Page

Zuerst Produkt, dann Landing Page, am zweiten Tag. Die meisten Gründer machen das falsch und die Page verspricht Dinge, die das Produkt nicht leistet. Drei Sektionen: Value Prop, Pricing, 60-Sekunden-Demo. Noch keine Testimonials — die kommen in Woche 2.

Sonntagnachmittag: bezahlt

Die erste Zahlung ging um 13:47 Uhr Sonntag ein — 28 Stunden nach dem Scaffold. Stripe-Webhook ausgelöst, Datenbank aktualisiert, Resend hat eine Willkommens-E-Mail gesendet. Das ist, wie ein „ausgeliefertes" MVP aussieht. Kein Dashboard. Eine echte Person, die echtes Geld für eine echte Funktion bezahlt.

Die 6 Module, die das Wochenende getragen haben

Ich habe 6 Module von TanStack Ship verwendet. Jedes Modul ist ungefähr 200 Zeilen Code, die ich an einem Wochenende nicht geschrieben habe. Hier ist, was jedes Modul tut und wo es Stunden gespart hat.

Auth (Better Auth-Modul, ~1 Stunde verdrahtet)

Better Auth liefert den Google OAuth-Flow, den E-Mail-Magic-Link-Sender und die JWT-Cookie-Session, die korrekt auf dem Cloudflare Workers Edge-Runtime funktioniert. Die Verdrahtung ist eine Config-Datei:

ts
// src/lib/auth.ts
import { betterAuth } from "better-auth";
import { magicLink } from "better-auth/plugins";

export const auth = betterAuth({
  database: context.env.DB, // Cloudflare D1 binding
  plugins: [magicLink({ sendEmail: sendMagicLink })],
  socialProviders: {
    google: {
      clientId: context.env.GOOGLE_CLIENT_ID,
      clientSecret: context.env.GOOGLE_CLIENT_SECRET,
    },
  },
});

Die Ersparnis: Ich habe Auth dreimal auf Workers gebaut und bin auf denselben Cookie-Bug gestoßen, der in Auth-Modul Postmortem dokumentiert ist. Das Modul hat ~6 Stunden zurückgeholt.

Stripe Billing (Stripe-Modul, 1 Stunde verdrahtet)

Stripes Subscriptions API ist gut dokumentiert. Der Webhook nicht — Signatur-Verifizierung und das Race zwischen subscription.created und invoice.paid sind die zwei Stellen, an denen jede Integration bricht. Das Modul liefert die verifizierte Route:

ts
// src/routes/api/stripe/webhook.ts
import Stripe from "stripe";
import { eq } from "drizzle-orm";

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 === "checkout.session.completed") {
    const session = event.data.object as Stripe.Checkout.Session;
    await context.env.DB.prepare(
      "UPDATE users SET subscription_id = ?, plan = ? WHERE id = ?"
    )
      .bind(session.subscription, session.metadata?.plan, session.metadata?.userId)
      .run();
  }

  return new Response("ok", { status: 200 });
}

Die Ersparnis: ~3 Stunden, wenn Sie jemals einen „Stripe-Webhook feuert nie"-Bug debuggt haben. Signatur-Verifizierung ist der Teil, der auf localhost, in Staging und in Produktion bricht.

Datenbank (D1-Binding, 47 Zeilen)

D1 ist SQLite am Edge. Für einen 32-Stunden-Sprint ist SQLite die richtige Wahl — Postgres fügt Pool-Management hinzu. Das Schema:

sql
-- migrations/0001_init.sql
CREATE TABLE users (
  id TEXT PRIMARY KEY,
  email TEXT UNIQUE NOT NULL,
  plan TEXT DEFAULT 'free',
  subscription_id TEXT,
  created_at INTEGER NOT NULL
);

CREATE TABLE projects (
  id TEXT PRIMARY KEY,
  user_id TEXT NOT NULL,
  url TEXT NOT NULL,
  created_at INTEGER NOT NULL,
  FOREIGN KEY (user_id) REFERENCES users(id)
);

CREATE TABLE keywords (
  id TEXT PRIMARY KEY,
  project_id TEXT NOT NULL,
  term TEXT NOT NULL,
  rank INTEGER,
  checked_at INTEGER NOT NULL,
  FOREIGN KEY (project_id) REFERENCES projects(id)
);

Drei Tabellen. Eine Funktion. Das D1 Free-Tier deckt 5M Zeilen-Lesezugriffe pro Tag ab — genug für die ersten 1.000 Kunden.

E-Mail (Resend-Modul, 18 Min)

Resend versendet transaktionale E-Mails. Die 18 Minuten deckten die Willkommens-, Passwort-Reset- und Abonnement-Gekündigt-E-Mails ab. Resends Workers-freundliches SDK (@resend/cloudflare) ist der Grund, warum es 18 Minuten waren und nicht 3 Stunden.

Deploy (wrangler, ~5 Min)

bash
pnpm run deploy
# wrangler deploy --minify --var ENVIRONMENT:production

Cloudflare deployt global in 30 Sekunden. Der erste Deploy am Samstagmorgen war der moralische Anker des ganzen Sprints — ich wusste, ich konnte deployen, also wusste ich, ich konnte iterieren.

Analytics (PostHog-Modul, ~30 Min)

PostHogs Cloudflare Workers Integration verdrahtet sich in 30 Minuten. Ich habe dies bis Sonntagabend aufgeschoben, weil Analytics für „nachdem ich etwas zum Messen habe" gedacht ist.

Die 6 Module zusammen haben ungefähr 18 Stunden des Wochenendes zurückgeholt. Ohne sie wäre die Sprint-Uhr bei der ersten Zahlung bei 46 Stunden, nicht 28.

Wo andere Boilerplates ehrlich gewinnen

Ich habe MVPs mit ShipFast, Makerkit, Open SaaS und TanStack Ship ausgeliefert. Jedes gewinnt auf einer anderen Achse.

ShipFast — gewinnt bei Community

ShipFast hat die größte Gründer-Discord. Wenn Ihr MVP von einer Nischen-Integration abhängt (Plaid, Twilio, Linear API), gibt es einen Thread in der Discord. Wo TanStack Ship vorauszieht: Cold-Start-Latenz auf Edge AI und Cloudflare-nativer Tiefe. 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, die ich je getestet habe. Für B2C-MVPs, bei denen die UI der Konversions-Hebel ist, spart das shadcn/ui Theming 2 Design-Tage. Wo TanStack Ship vorauszieht: Edge-native AI-Bindings und eine eingebaute Eval-Pipeline. Für AI-MVPs zählt die Runtime.

Open SaaS — gewinnt bei kostenlos + MIT

Open SaaS ist das höchstqualitative 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 vorauszieht: Modulabdeckung für AI-Features und produktionsgetestete Stripe-Webhook-Behandlung.

Für eine Entscheidungstabelle nebeneinander, sehen Sie den Vergleichs-Hub.

Wann Sie TanStack Ship NICHT für einen 48-Stunden-Sprint wählen sollten

Wenn Sie eine Mobile-First-Experience brauchen

TanStack Ship ist Web-First. Die shadcn/ui-Komponenten sind Desktop-Klasse. Wenn Ihr MVP eine React Native oder Expo-Shell braucht, ist TanStack Ship der falsche Ausgangspunkt.

Wenn Ihr Payment-Flow Marktplatz-Style ist

Ein Marktplatz mit Multi-Vendor-Auszahlungen ist ein 80-Stunden-Build obendrauf bei jedem Boilerplate. Die Stripe Connect-Integration, KYC und Treuhand nehmen jeweils eine Woche in Anspruch. Wenn Ihr MVP echte Marktplatz-Mechaniken braucht, schauen Sie auf Monat 2, nicht Wochenende 1.

Die Kostenrechnung: 37 $ für ein Wochenend-MVP

ServiceKostenAnmerkungen
Cloudflare Workers0 $Free-Tier deckt die Workload ab
Cloudflare D10 $Free-Tier deckt 5M Zeilen-Lesezugriffe/Tag ab
Cloudflare R20 $Keine Assets während des Sprints gespeichert
Stripe0 $Keine monatliche Gebühr; nur pro Transaktion
Resend0 $Free-Tier deckt 3.000 E-Mails/Monat ab
OpenAI API32 $Für den Keyword-Extraction-Endpoint verwendet
Domainname5 $Einjährige .com
Gesamt37 $Erstes Wochenende

Woche-1-Umsatz: 293 $. ROI: ~8x. Die Kostenrechnung ist der Grund, in 48 Stunden auszuliefern — die Kosten sind begrenzt, der Upside ist real. Für TanStack-Ship-Preise, sehen Sie die Pricing-Page. Für die 14 Produktionsmodule, sehen Sie die Features-Page.

FAQ

Kann ich wirklich ein MVP in 48 Stunden ausliefern?

Wenn das MVP eine Funktion mit Auth + Billing ist, ja — ich habe es am 25. April 2026 in 28 Stunden gemacht. Wenn das MVP 5 Funktionen mit Team-Kollaboration ist, nein — das ist ein 4-Wochen-Build. Für einen langsameren Zeitplan, sehen Sie Zero to MVP in 4 Weeks.

Kann ich TanStack Ship mit OpenAI oder Anthropic verwenden?

Ja — TanStack Ship liefert den Vercel AI SDK-Adapter mit, also ist das Wechseln zwischen OpenAI, Anthropic und Workers AI eine Ein-Zeile-Config-Änderung.

Was ist mit Authentifizierung?

Better Auth ist der Standard. Google OAuth und E-Mail-Magic-Link sind verdrahtet. Die Cookie-Session-Schicht funktioniert korrekt auf Cloudflare Workers Edge Runtime — sehen Sie das Edge-Session-Race-Postmortem für den Bug, den dieser Fix verhindert.

Wie schneidet TanStack Ship im Vergleich zu ShipFast für ein Wochenend-MVP ab?

ShipFast hat mehr Community. TanStack Ship liefert den Cloudflare-nativen Edge-Stack. Für einen Wochenend-Sprint auf Cloudflare Workers, sehen Sie TanStack Ship vs ShipFast.

Was ist der Unterschied zwischen TanStack Ship und Makerkit für ein MVP?

Makerkit liefert die polierteste UI. TanStack Ship liefert den produktionsreifsten Cloudflare-Stack. Sehen Sie TanStack Ship vs Makerkit.


Nächster Schritt: Sehen Sie, wie TanStack Ship im Vergleich zu ShipFast, Makerkit und Open SaaS abschneidet — oder durchstöbern Sie den Vergleichs-Hub für die vollständige Matrix. Für einen langsameren Zeitplan, sehen Sie Zero to MVP in 4 Weeks. Jeder Pricing-Tier liefert die 6 in diesem Sprint verwendeten Module (Auth, Billing, D1, Deploy, Resend, Analytics) plus 8 weitere.