What a SaaS Starter Should Actually Include (a Checklist)
A concrete checklist for evaluating any SaaS boilerplate — auth, payments, email, and the dozen unglamorous systems that decide whether you ship. Mapped to what our templates include.
"SaaS boilerplate" is a crowded search, and the products behind it range from a login form with a Stripe button to genuinely complete applications. If you're evaluating one — ours or anyone's — the useful question isn't "does it have auth?" but "does it have the whole system around auth that you'd otherwise build yourself over three weeks?"
Here's the checklist we hold our own templates to. Use it to pressure-test any starter. Where it's relevant, we note how the SoarStarter templates cover each point, but the list stands on its own as an evaluation tool.
Authentication & accounts
The table stakes, and where most gaps hide:
- Email/password sign-up and sign-in
- Email verification (not just "we sent a link" — actually gating on it)
- Password reset flow, end to end
- Social login (GitHub, Google, or platform-native Apple/Google on mobile)
- Session persistence that survives a restart
- Admin roles and a role-gated admin area — not everyone is a regular user
- Account settings: profile, change password, delete account
Our web templates cover this with Better Auth (including the admin plugin); the native templates use Supabase Auth with deep-link OAuth.
Payments & billing
The reason it's a business, and the part most likely to be half-built:
- Subscriptions (monthly/yearly) with real webhook handling
- One-time / lifetime purchases
- A server-side source of truth for entitlement — not "trust the client"
- Feature gating: a clean way to put a feature behind a paid tier
- Billing management (view plan, manage/cancel)
- Sensible tax story — either you handle it, or a merchant of record does
- Restore purchases (a hard requirement on mobile)
The web/desktop templates use Creem (swappable to Stripe); mobile uses RevenueCat with a two-layer entitlement model.
Communication
- Transactional email wired up (verification, reset) with real templates, not
console.log - A contact path that actually delivers
- Push notifications (on mobile/desktop, where they matter)
The pages every real product needs
Unglamorous, and conspicuously missing from thin boilerplates:
- Landing page you can actually rebrand
- Pricing page tied to your real plans
- About and contact pages
- Legal pages (privacy policy, terms) — you can't launch payments without them
- A blog (you're reading proof this matters for growth)
- Documentation system
SEO & discoverability
Easy to skip, expensive to retrofit:
-
sitemap.xmlandrobots.txt - Per-page metadata and canonical/alternate links
- Open Graph images for shareable link previews
- Structured data (JSON-LD) where it helps
- Localized routing if you're going multi-language
The product shell
- A real dashboard, not a blank authed page
- Dark mode that actually works across the app
- Internationalization if you'll ever need a second language (retrofitting i18n is miserable)
- Responsive layout and a component library you can build on
- Accessible, consistent UI primitives
Data & operations
The stuff that decides whether you can sleep after launch:
- A real database with a migration/schema workflow, not hand-edited tables
- Error / crash tracking so you learn about failures before your users tweet them
- File/image upload with a note on where it persists in production
- A deploy story — Docker, a standalone build, or a clear host target
- A lint/format/type gate you can run before every deploy
How to use this list
Two honest caveats. First, no starter should have literally everything — a mobile template shouldn't ship a sitemap, and a web template doesn't need push notifications. The right question is whether it covers what your platform needs. Second, the value isn't the feature count; it's that these systems are wired together — auth that the payment webhook trusts, email the auth flow actually sends, entitlement the paywall actually reads. A pile of unconnected features isn't a head start.
That integration is the whole point of the SoarStarter templates: eight platforms, each with the boxes above ticked in a way that fits the platform, so you start on your product instead of this checklist. Browse the template family to see how each one maps to the list.