Skip to content

The agent-ready SaaS starter for TanStack Start

VAT handled, ship in a weekend. Auth, billing, database patterns, and the CLAUDE.md conventions your coding agent needs — all in one repo.

Built foragent-ready development
This site runs on the kit
src/routes/api/webhooks/polar.ts
// src/routes/api/webhooks/polar.ts
const rawBody = await request.text();
const ok = await verifyStandardWebhook({
id: request.headers.get("webhook-id")!,
timestamp: request.headers.get("webhook-timestamp")!,
signatureHeader: request.headers.get("webhook-signature")!,
body: rawBody,
secret: process.env.POLAR_WEBHOOK_SECRET!,
});
if (!ok) return new Response("Invalid signature", { status: 401 });
 
const event = JSON.parse(rawBody) as PolarEvent;
if (shouldRunPaidEffects(event)) {
await deliverEmail(orderConfirmationEmail(event));
await recordAudit("order.paid", event.data.customer.id, event.data);
}
TanStack StartReactTypeScript strictSupabasePolarTailwind CSSshadcn/uiTanStack StartReactTypeScript strictSupabasePolarTailwind CSSshadcn/ui

By the numbers

Honest counts from the repository you'll clone.

  • 0+
    Features shipped
  • 0 h
    Estimated build time saved
  • 0 langs
    Languages built in
  • 0+
    Automated tests

Highlights

Six of the twenty-one patterns shipped in the kit — see the full grid on the features page.

TanStack Start

SSR, type-safe file-based routing, and server functions out of the box.

Supabase auth

Email + password, password reset, and a reusable route guard for protected pages.

Profiles + RLS pattern

Auto-created profile rows and a documented Row-Level Security template you copy for every new table.

Polar billing (MoR)

Merchant-of-record checkout — EU/UK VAT and US sales tax handled without extra code.

AI module

Lovable AI gateway wired server-side with a reusable pattern — works out of the box, no external keys.

Teams / Organizations

New

Create orgs, invite members with tokenized 7-day links, owner/admin/member roles, last-owner guard, and RLS that extends transparently to shared projects.

Inside the repo

Real code from the codebase you'll clone — nothing invented.

supabase/migrations/…_projects.sql
create table public.projects (
id uuid primary key default gen_random_uuid(),
user_id uuid not null references auth.users(id) on delete cascade,
name text not null,
description text,
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
 
grant select, insert, update, delete on public.projects to authenticated;
grant all on public.projects to service_role;
 
alter table public.projects enable row level security;
 
create policy "select own" on public.projects
for select to authenticated using (auth.uid() = user_id);
create policy "insert own" on public.projects
for insert to authenticated with check (auth.uid() = user_id);

See it in action

Real screenshots from the running kit — auth, dashboard, checkout and more.

sarvstack.sarvon.ch
Proof, not testimonials

This site is the demo

sarvstack.sarvon.ch itself runs on SarvStack. The auth you can try via Sign up, the checkout on /pricing, the dark mode toggle — all shipped kit code.

Frequently asked questions

The top three questions. Full list on the FAQ page.

Ready to ship?

One purchase. Lifetime access. VAT handled by Polar.

$99 early adopter price — goes to $149 on August 1, 2026. Buying before then locks lifetime updates at the lower price.