Vue 3 + Supabase + Stripe SaaS starter
Building the billing layer of a SaaS is the same four tasks every time: email auth, a profile row with row-level security, Stripe Checkout, and a webhook that keeps subscription state in sync. This starter has all four working on day one, in Vue 3 + TypeScript.
What's inside
- Auth — email signup, confirmation link, login, logout, guarded routes
- Database + RLS —
profilestable,handle_new_usertrigger, owner-only policies, plus the explicitGRANTstatements most tutorials skip - Stripe Checkout — one-click subscription, customer id stored on the profile, test mode ready
- Webhook — raw-body signature verification, three subscription events mapped to
free / active / canceled / past_due - Local dev shim — checkout and webhooks work under
vite dev, novercel devrequired - Deploy — Vercel functions, env template, one-command deploy
Stack
Vue 3 · TypeScript · Vite · Pinia · vue-router · UnoCSS · Supabase (auth + Postgres + RLS) · Stripe (Checkout + webhooks) · Vercel serverless functions.
Try it before buying
The live demo runs the same code as the zip:
- Demo: saasplate.dev
- Test card:
4242 4242 4242 4242, any future date, any CVC - Source preview (code only, no keys): GitHub
What you get
One zip: the full source, setup guide, and a troubleshooting appendix covering the errors in these guides — the Supabase GRANT problem, the Stripe raw-body problem, and running /api locally.
Price is $29, one-time. 14-day refund, no questions asked. Single-buyer license: use it for unlimited personal and client projects; reselling the source itself is not allowed.
Not ready to buy? The Supabase + Stripe launch checklist covers the same 23 checks this starter already passes.
Get the free checklistShip your SaaS this weekend
Skip the two days of wiring auth, RLS and webhook signatures.
Buy on Gumroad — $29 Try the live demo