Most SaaS founders spend 3–6 months before their first paying customer. Not because the idea is hard, but because of all the plumbing: auth, billing, emails, infrastructure. This guide shows you how to cut that to a weekend.
Why 48 hours is actually possible
A SaaS boilerplate pre-solves every generic problem a B2B product faces:
- Authentication — sign-up, login, OAuth, 2FA
- Billing — Stripe or Paddle, checkout, webhooks
- Multi-tenancy — organizations, roles, invitations
- Email — transactional templates with real providers
- Admin dashboard — user management, analytics
When these are already done, you focus on your differentiated core — the 10% that makes your product unique.
Hour 0–2: Setup
git clone <YOUR_REPO_URL> my-saas
cd my-saas
pnpm install
cp .env.example .env
docker compose up -d
pnpm migrate
Set three env vars and you have a running app:
DATABASE_URL=postgresql://...
AUTH_SECRET=your-32-char-secret
NEXT_PUBLIC_API_URL=http://localhost:8000
Open http://localhost:3000 — landing page, auth, and dashboard are live.
Hour 2–8: Domain and brand customization
- Name it — replace "SaaS Starter" in
apps/web/src/app/layout.tsxand the landing page - Choose a theme — navigate to
/dashboard/settingsand pick from 25+ color themes - Update pricing — open
packages/shared/src/plans.ts, change plan names and prices - Write your hero copy — edit
apps/web/src/app/page.tsxhero section