Xerixy Launch Kit
Astro SaaS template
Launch a real SaaS surface without splitting your frontend and backend.
This starter combines Astro SSR, React islands, D1 persistence, R2 media delivery, and deploy-ready Wrangler config into one project. It is opinionated enough to ship an MVP and light enough to reshape for the next product.
Runtime
Workers SSR
Database
D1 + Drizzle
Storage
R2 over Worker route
R2 empty state
Your landing visuals will appear here.
The page is already querying the `landing-page/` prefix from your Cloudflare R2 bucket. Run `pnpm r2:seed` after setting `R2_BUCKET_NAME` to upload the sample SVG assets.
A stack that already speaks Cloudflare.
The template keeps the moving pieces explicit: Wrangler owns the bindings, Drizzle owns the schema, Astro owns rendering, and React only hydrates what truly needs interactivity.
D1 wired through Drizzle
Schema, migrations, and a real lead capture API route are ready for remote Wrangler workflows.
R2-backed marketing media
Landing assets are fetched from Cloudflare R2 through a Worker route, so you control caching and access.
Auth pre-wired for the next sprint
Better Auth is installed with a server entrypoint and toggle, without blocking this MVP on auth tables.
Remote-first operations for your MVP.
The scripts intentionally mirror Cloudflare workflows: generate SQL with Drizzle Kit, apply it with Wrangler, inspect D1 remotely, and seed R2 content from the same repository.
Deploy with `wrangler deploy` after updating the placeholder D1 and R2 bindings.
Upload the sample SVG gallery with `pnpm r2:seed` to verify the R2 fetch path.
Run `pnpm db:migrate:remote` against your D1 database once you have a real database ID.
Capture contact details directly into D1.
The example form demonstrates the full round-trip: a React island validates input, Astro handles the request on Workers, and Drizzle inserts the lead into Cloudflare D1.
Included SEO surface
- Canonical, Open Graph, Twitter Card, and structured data.
- Dedicated `robots.txt`, `sitemap.xml`, and SVG social card endpoint.
- Semantic headings and server-rendered image alt text sourced from code metadata.
Collect buyer intent without a separate backend.
This React island posts directly to the Astro API route on Cloudflare Workers. Validation runs in the browser first, then again on the server before D1 writes.