Paradox Innovations (SaaS Starter Template) - By Signal Lynx A production-ready SvelteKit SaaS template for building modern SaaS products.
Build status and license details are available via the repository badges and LICENSE file.
This is a full-stack SaaS starter kit built with SvelteKit, Supabase, and Stripe.
It comes pre-loaded with a fictional brand, "Paradox Innovations", selling sci-fi products (Hoverboard Schematics and Timeline Access). This is not just placeholder text; it is a functional example that shows:
The template is designed to work seamlessly with Key Commander (a self-hosted license manager), but it also works fine as a standalone SvelteKit + Stripe starter.
This section walks you through running a full local copy of the template.
Prerequisites:
Run these commands in your terminal:
git clone https://github.com/Signal-Lynx/sveltekit-saas-starter.git
cd sveltekit-saas-starter
npm install
Your local app uses a cloud Supabase project for database and authentication.
# Log in to the Supabase CLI (if you haven't already)
npx supabase login
# Link your local repository to your Supabase project
# You will be prompted to select a project from your account
npx supabase link
# Push the database schema to your Supabase project
# This executes migrations in supabase/migrations to set up your tables
npx supabase db push
Create a local environment file and fill in the required values:
cp .env.example .env
Now open the .env file and add the following values (from your 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"
You will also need to add your Stripe test keys and AWS SES credentials (if you are sending email) to the .env file.
npm run dev -- --open
Your local instance should now be running (typically at http://localhost:5173) and connected to your Supabase backend.
This template is built using a "Cleave and Leave" approach. You can remove the sci-fi theme and plug in your own brand quickly.
Edit the file:
Update the following:
Most of the site pulls these values from this config file.
Edit the file:
Update the primary and secondary hex codes. The UI (buttons, navigation bars, accents) will update via DaisyUI.
Edit the file:
Actions you should take:
Edit these files:
For a more in-depth guide, refer to the CUSTOMIZATION.md file in the repository.
This template is the official frontend for Key Commander.
If you are using Key Commander to manage software licenses, do the following:
PRIVATE_LICENSE_MANAGER_URL="YOUR_LICENSE_MANAGER_URL"
PRIVATE_LICENSE_MANAGER_API_KEY="YOUR_LICENSE_MANAGER_API_KEY"
match the product IDs in your Key Commander instance.
When configured correctly, the dashboard will automatically fetch and display license keys for your users.
The following scripts are available in the project:
npm run dev # Start the local development server
npm run build # Build the application for production
npm run preview # Preview the production build locally
npm run check # Run the Svelte type-checker
npm run lint # Check for linting issues
npm run format # Format code using Prettier
npm run test # Run Vitest tests in watch mode
npm run test:run # Run all Vitest tests once
npm run test:e2e # Run end-to-end tests with Playwright
./checks.sh # Run format, lint, check, and tests in sequence
This project is licensed under the MIT License. See the LICENSE file in this repository for full details.