Email login, Google / GitHub sign-in, verification, password reset, and guest upgrade flows are already in the app.
✓Session cookies and route guards aligned with dashboard state
✓Email verification and password reset you can extend
✓Guest sessions that upgrade cleanly on register
02
Payments & credits
Monetize without rebuilding billing
Pricing, checkout hooks, credit accounting, and protected dashboard routes map into the product skeleton.
✓Stripe / Creem checkout mapped to a credit ledger
✓Tiered plans and audit-friendly usage records
✓Stable hooks when you add providers later
03
Marketing & content
Landing, docs, blog, dashboard together
Acquisition and application layers ship in one React + TanStack stack — fewer CORS, cookie, and branding surprises.
✓SEO-ready routes for landing and content pages
✓Docs shell and blog with locale-aware navigation
✓One deployable surface for marketing and product
04
Edge platform
Global APIs on Cloudflare
Workers-native server routes with service bindings you can grow into — databases, cache, and object storage without replatforming.
✓Low-latency APIs at the edge next to users
✓D1, KV, and R2 patterns ready for multi-tenant growth
✓Pages deploy with cache rules for content and shell
Auth
From signup to first session
Real account flows on the same app as marketing — no mock auth, no separate marketing repo.
01
Create or sign in
Use email, Google, GitHub, or guest mode from /login. Sessions persist via secure cookies.
02
Unlock the dashboard
Route guards open credits, API keys, check-in, referral, and AI playground when enabled in the manifest.
03
Upgrade when ready
Pricing and checkout map purchases into the credit ledger your workspace reads in real time.
Testimonials
What builders say
Teams using the stack for auth, billing, and AI workflows — anonymized roles, real workflows.
★★★★★
“We went from zero to Stripe + credits in a weekend. The hardest part was our product copy, not the integration.”
★★★★★
“Guest login and upgrade path actually worked out of the box. We only customized the theme and provider keys.”
★★★★★
“Having blog, docs, and dashboard in one app cut our deployment surprises in half.”
★★★★★
“Workers + service bindings matched how we wanted to scale regions. D1 for metadata was enough early on.”
★★★★★
“We launched in English and Simplified Chinese first; locale switching let us grow without a second marketing site.”
★★★★★
“Honestly expected more glue code. Most days we are editing business logic, not fighting cookies.”
FAQ
Questions we hear all the time
Billing, deployment, and customization — straight answers so you can decide faster.
Yes. The template targets Cloudflare Pages, Workers, D1, KV, and R2. You own the repo and can run wrangler against your account.
Checkout creates or renews subscriptions and maps webhook events into a credit ledger your dashboard reads. Start in test mode, then flip keys for production.
No. Users only see what you ship. The dashboard is for operators and customers who need billing or keys — hide routes or brand everything via the manifest.
Provider calls live behind service bindings with a stable generate/status contract. Swap endpoints and keys in one place without rewriting the whole app.
Yes. English and Simplified Chinese ship today with a locale switcher; expand copy in the same i18n module as you grow.
Edit zship.app.json for site name, logo, header nav, footer sections, and SEO. Landing sections keep product copy in landing-locales.
Ready to launch
Stop rebuilding auth, billing, and dashboard infrastructure
Start from a React + TanStack template that already knows how your SaaS should behave in production — then ship your differentiated product logic on top.