CMSaasStarter is an open-source SvelteKit boilerplate for launching a SaaS product with user authentication, Stripe subscriptions, a marketing site, and a blog already wired together.
What is CMSaasStarter?
CMSaasStarter is a free, MIT-licensed SaaS starter template built on SvelteKit, Tailwind CSS, DaisyUI, Supabase, and Stripe. It provides a pre-built marketing homepage, pricing page, blog engine, user dashboard, and authentication system as a starting point, and it can be deployed to Cloudflare Pages. The template was created by the team at Kiln AI and powers both the Kiln AI fine-tuning tool and the Critical Moments blog. Its marketing pages are pre-rendered as static assets, yielding perfect 100/100 Google PageSpeed Insights scores.
Key Features
- Authentication — Sign-up, sign-out, forgot password, email verification, and OAuth via Supabase Auth, with a GDPR cookie warning for European users.
- Stripe subscriptions — Billing via Stripe Checkout and a self-serve Stripe Portal for changing cards, upgrading, or canceling; supports monthly and annual prices per product.
- Marketing site & SEO — Pre-rendered landing page, pricing page, and blog with sitemap and SEO meta tags; site search indexes prerendered content without a backend.
- User dashboard — Includes account profile, email/password update, billing management, and an onboarding flow after signup to collect user data and select a plan.
- Emailer — Optional email capabilities for sending to users and admins, with template support; disabled by default.
- Styling toolkit — Tailwind CSS with DaisyUI components, theming via app.css, and dark mode support; responsive for mobile and desktop.
- Hosting stack — Suggested free stack of Cloudflare Pages, Cloudflare Workers, Supabase Auth, and Supabase Postgres; costs $0/month on free tiers, scaling to a $30/month Pro tier.
- Developer tooling — GitHub Actions workflows for build, formatting, linting, typechecking, and spell checking; plus a checks.sh script and optional pre-commit git hook.
Who is it for?
- Startup founders — launch a SaaS MVP quickly by replacing demo content and connecting Supabase and Stripe keys.
- SvelteKit developers — customize a well-structured codebase with marketing routes, admin dashboard, API endpoints, and database schemas already organized.
- Indie hackers — host the entire stack for free on Cloudflare and Supabase free tiers while validating a product idea.
What can you do with CMSaasStarter?
- Founders: spin up a fully functional SaaS site with login, pricing, and Stripe checkout in a few hours by following the Quick Start.
- Marketers: write posts using the blog engine with RSS and SEO, and update pricing plans in a single TypeScript file.
- Developers: extend the template with new API routes, database tables, or admin portals using the included patterns and components.
How does it work?
Start by creating a repository from the template or forking it, then install dependencies with npm install and copy the env example to .env.local. You then create a Supabase project, run the provided database migration SQL, configure Stripe products and prices, and finally deploy to Cloudflare Pages with environment variables. The Quick Start guide covers the entire flow from git clone to production.
Pricing
The template itself is free and MIT-licensed; there is no license fee. The documented hosting costs are $0/month on the free tiers of Supabase and Cloudflare, or $30/month for Supabase Pro and Cloudflare Workers Paid when you need backups and higher serverless limits.
FAQ
Is CMSaasStarter free?
Yes, the template is MIT-licensed and free to use, including for commercial projects. There is no licensing or template cost. You only pay for the hosting services you choose, such as Supabase and Cloudflare.
What tech stack does it use?
SvelteKit for the web framework, Tailwind CSS and DaisyUI for styling, Supabase for auth and Postgres database, and Stripe for payments. The suggested host is Cloudflare Pages with Workers for serverless functions, but other SvelteKit adapters work too.
Does it include a blog?
Yes, a blog engine with rich formatting, RSS, SEO optimization, and site search is included. Blog posts are pre-rendered for performance, and you can remove the blog by deleting its route directory if you don't need it.
How do I deploy it?
Deploy in a few clicks to Cloudflare Pages by selecting SvelteKit as the framework and adding environment variables for your Supabase URL, anon key, service role, and Stripe secret key. The template works with other SvelteKit adapters as well, including Netlify and Node.
What is the free hosting tier limit?
The free tier includes Supabase free and Cloudflare free, allowing roughly 50,000 monthly active users. Supabase will pause the database after 7 days of inactivity and does not include backups; the $30/month Pro tier adds backups and prevents pausing.





