TinyShip
TinyShip
 TinyShip
TinyShip
TinyShip Documentation
Support & HelpContact UsAbout This SiteTinyShip Terms of ServiceTinyShip Privacy Policy
Support & Help

About This Site

Why TinyShip exists, and what global buyers get

I am an independent developer, Viking. TinyShip is a modern full-stack starter for people shipping SaaS on gettinyship.dev. It is a working product skeleton: auth, payments, credits, storage, and three apps that share one set of libraries.

Why another starter?

Plenty of SaaS templates exist. TinyShip is aimed at the parts that usually get bolted on later:

  • Flows that match a real product (accounts, checkout, credits, admin)
  • A provider interface so you can change Stripe, storage, or email without rewriting the app
  • A current stack (TypeScript, Tailwind CSS v4, Better Auth, Drizzle)
  • A price that stays within reach of an indie budget

Built for a global launch

The English site assumes a global stack first:

  • Payments: Stripe, Creem, and Dodo through createPaymentProvider in libs/payment/index.ts. PayPal and Alipay have their own guides.
  • Sign-in: Google and GitHub OAuth, plus email and password
  • Storage: Cloudflare R2 or Amazon S3 (oss | s3 | r2 in config/storage.ts)
  • Locales: English at / on gettinyship.dev. libs/i18n exports defaultLocale = 'en'

China (optional)

The same codebase can serve a China deployment. Turn these on only if you need them:

  • WeChat login and WeChat Pay
  • Alipay for one-time payments
  • Aliyun SMS (enterprise signature filing required)
  • Aliyun OSS

They are not required for gettinyship.dev.

Three apps, one set of libraries

Pick the frontend your team already knows. All three call the same libs/:

  • Next.js for React
  • Nuxt for Vue
  • TanStack Start for a typed-router React app, including the Cloudflare Workers path

Shared pieces include auth, the database layer, payments, permissions, and i18n.

Stack

  • Tailwind CSS v4 and shadcn/ui
  • TypeScript and Zod
  • Better Auth, Drizzle, and CASL
  • Vercel AI SDK for chat and related AI flows

The default color scheme in config.ts is coss-orange, stored under tinyship-ui-theme-v6.

Swap a provider without a rewrite

Provider modules share one call shape. Changing payment provider is a string argument to createPaymentProvider:

import { createPaymentProvider } from '@libs/payment';

const payment = createPaymentProvider('stripe'); // or 'creem' | 'dodo' | 'wechat'

'wechat' is the China option. PayPal and Alipay are configured separately from this factory.

AI-assisted development

The repo is laid out so coding agents can follow it:

  • Cursor rules under .cursor/rules
  • AGENTS.md files in the libraries
  • Vercel AI SDK already wired for product features

Pricing

International SaaS starters are often priced around $100–$200. TinyShip stays intentionally lower so more developers can start from a complete base. Public prices live on the pricing page; this essay is not a price list.

What you still design

TinyShip ships the infrastructure. The product on top of it is yours:

  • The idea and the business rules
  • How the experience should feel
  • How you talk to customers

Contact Us

Get technical support and answers to your questions

TinyShip Terms of Service

TinyShip Terms of Service

On this page

Why another starter?Built for a global launchChina (optional)Three apps, one set of librariesStackSwap a provider without a rewriteAI-assisted developmentPricingWhat you still design