A production-ready SvelteKit SaaS starter with Supabase Auth + Postgres, Stripe billing, entitlement-based access, an admin suite you can actually run, and secure delivery workflows for free and paid assets
The template ships with a fictional brand (“Paradox Innovations”) so you can see real flows, and better understand this website template. Allowing you to quickly “de-Paradox” the template, and make it your own.
Links
• Template repo: https://github.com/Signal-Lynx/sveltekit-saas-starter
• Signal Lynx: https://signallynx.com
• Key Commander: https://www.signallynx.com/key-commander
• Key Commander ReadMe (PDF): https://www.signallynx.com/docs
This template is meant to be your launchpad. A real, working foundation for the Night Shift Nation. Building after hours (while highly caffeinated) and needing something complete and reliable. With this template (and optional Key Commander integration), a viable storefront and dashboard can be stood up in a weekend. The backend mechanics are already here. Bring your product, voice, and branding.
This template is derived from a production SaaS implementation. It’s a cleaned, generalized version of real flows that were built to run under load, handle billing state correctly, and support real customer ops.
Password reset and change, email change, and account deletion flows are wired and working.
Admin pages are included so you can operate without duct tape:
This template includes the boring but critical stuff so you don’t ship a fragile demo.
If you want the plug and play path, pair this template with Signal Lynx Key Commander.
Key Commander is the self-hosted backend engine that keeps your business state correct. Stripe events, paid status, trials, entitlements, license issuance, delivery, and ongoing reconciliation are handled by a single system you control. This template becomes the storefront and dashboard on top.
Revenue Ops (“Robotic Accountant”)
Subscriptions, trials, one-time sales, and reconciliation to keep billing state accurate.
Application Intel (“Comms Relay”)
Targeted announcements plus detailed audit logs so your stack is not a black box.
System Armor
Backups, integrity checks, and anti-piracy tooling designed to run on autopilot.
Flight Recorder
Website and client apps can send logs to your server so you can diagnose issues fast.
When Key Commander is connected, this site becomes license aware:
If you want license keys and license-based entitlements in the user dashboard using Key Commander, add these to your .env:
PRIVATE_LICENSE_MANAGER_URL="YOUR_LICENSE_MANAGER_URL"
PRIVATE_LICENSE_MANAGER_API_KEY="YOUR_LICENSE_MANAGER_API_KEY"
Then ensure your product IDs in src/lib/data/products.ts match the product IDs configured for your Key Commander Alias, and your custom/shipable software.
Key Commander includes deployment guardrails and templates so you don’t wing it:
Bot protection note: “Basic Bot Fight Mode” (Cloudflare or Vercel) can break server-to-server calls between this site and Key Commander. If you want bot protection, use a tier that supports allowlists, or leave bot fight off and rely on WAF rules, rate limits, and Turnstile.
Community note: You can absolutely run this template without Key Commander. We’re releasing it free because we want builders to ship faster. If you go standalone, you’ll implement your own licensing and Stripe reconciliation path. Either way, we’ll help where we can. We want to see what the Night Shift Nation builds.
Framework: SvelteKit 5
Styling: Tailwind CSS + DaisyUI
Auth + DB: Supabase (Postgres + Auth)
Payments: Stripe
Licensing backend (optional): Signal Lynx Key Commander
Testing: Vitest + Playwright
Deploy: Cloudflare Pages, Vercel, or any Node.js host
This template uses a Domain Split security pattern in production:
www.yourdomain.com): Hosting the public marketing site and user dashboard.admin.yourdomain.com): Hosting the internal admin panel.Why? This allows you to keep your main domain compatible with hosts like Vercel (which prefer "DNS Only" / Grey Cloud), while routing your sensitive Admin panel through Cloudflare's Proxy (Orange Cloud) to enable Zero Trust, strict WAF rules, and IP locking without breaking your public site.
Configuration Requirements:
www.yourdomain.com and admin.yourdomain.com as custom domains in your hosting project (Vercel/Netlify/Cloudflare Pages).www: DNS Only (Grey Cloud) recommended for Vercel.admin: Proxied (Orange Cloud) recommended for security.PUBLIC_WEBSITE_BASE_URL to your main URL (e.g., https://www.yourdomain.com). The app will automatically derive the admin domain (admin.yourdomain.com) from this.Node.js 18+
Git
Supabase account
Stripe account
Supabase CLI (via npx)
git clone https://github.com/Signal-Lynx/sveltekit-saas-starter.git
cd sveltekit-saas-starter
npm install
npx supabase login
npx supabase link
npx supabase db push
cp .env.example .env
Minimum required Supabase values (Supabase Dashboard → Project Settings → API):
PUBLIC_SUPABASE_URL="YOUR_SUPABASE_PROJECT_URL"
PUBLIC_SUPABASE_ANON_KEY="YOUR_SUPABASE_ANON_KEY"
PRIVATE_SUPABASE_URL="YOUR_SUPABASE_PROJECT_URL"
PRIVATE_SUPABASE_SERVICE_ROLE="YOUR_SUPABASE_SERVICE_ROLE_KEY"
Then add your Stripe keys and webhook secret for billing flows, plus any extras (Turnstile, R2, email, analytics).
Stripe note: subscription state only stays accurate if your Stripe webhook endpoint is configured and receiving events.
npm run dev -- --open
Edit src/config.ts and update your site name, legal name, and contact emails.
Edit src/lib/theme.ts and update the primary and secondary hex values. DaisyUI updates the UI system-wide.
Edit src/lib/data/products.ts:
Edit:
• Home page: src/routes/(marketing)/+page.svelte
• FAQs: src/lib/data/faqData.ts
• Features: src/lib/data/homepageFeatures.ts
For deeper guidance, see CUSTOMIZATION.md.
npm run dev # Start the local dev server
npm run build # Build for production
npm run preview # Preview production build
npm run check # Svelte type-check
npm run lint # Lint
npm run format # Prettier format
npm run test # Vitest watch mode
npm run test:run # Vitest once
npm run test:e2e # Playwright e2e
./checks.sh # Format + lint + check + tests
Email setup: email_docs.md
Analytics setup: analytics_docs.md
MIT. See LICENSE.
Signal Lynx, builders of self-hosted automation and licensing tools.
Company site: https://www.signallynx.com
SvelteKit SaaS starter, Supabase Auth, Stripe subscriptions, Stripe webhooks, one-time purchases, entitlements, admin dashboard, Cloudflare Turnstile, Cloudflare R2 downloads, Cloudflare Pages deploy, SaaS template, boilerplate, Signal Lynx, SignalLynx, Signal-Lynx, KeyCommander, Key Commander, Key-Commander, NightShiftNation.