Skip to content
Framework: Vite + React + TypeScriptDifficulty: intermediateFeatured

SaaS starter

Marketing pages, sign-in and sign-up screens, and an authenticated app area with a mocked session you replace with real auth.

A multi-page single-page app built on a tiny hash router (no extra dependency): landing, pricing, sign in, sign up, an app dashboard and a settings page. Authentication is deliberately mocked in src/auth.tsx and labelled as such in the UI; the session lives in localStorage so you can click through every flow before wiring up a real provider.

  • react
  • saas
  • auth
  • multi-page
  • tailwind
  • typescript

This preview is the template's actual file tree and source code — exactly what is copied into a new project. Codexa does not publish screenshots or mock-ups of templates; run the project to see it rendered.

Files18 files

src/pages/Landing.tsx30 lines
import { Link } from "../router";

export function Landing() {
  return (
    <section className="py-12 text-center sm:py-20">
      <h1 className="text-4xl font-semibold tracking-tight sm:text-5xl">Your product, one sentence.</h1>
      <p className="mx-auto mt-4 max-w-xl text-lg text-slate-600">Describe the outcome you deliver. Ask Codexa to rewrite this hero for your audience.</p>
      <div className="mt-8 flex justify-center gap-3">
        <Link to="/signup" className="rounded-lg bg-blue-600 px-5 py-3 text-sm font-medium text-white hover:bg-blue-700">
          Create account
        </Link>
        <Link to="/pricing" className="rounded-lg border border-slate-300 px-5 py-3 text-sm font-medium hover:bg-white">
          See pricing
        </Link>
      </div>
      <div className="mt-16 grid gap-6 text-left sm:grid-cols-3">
        {[
          ["Workspaces", "Invite teammates and manage roles."],
          ["Usage limits", "Metered plans enforced server-side."],
          ["Audit log", "Every change recorded."],
        ].map(([title, body]) => (
          <div key={title} className="rounded-xl border border-slate-200 bg-white p-6">
            <h2 className="font-medium">{title}</h2>
            <p className="mt-2 text-sm text-slate-600">{body}</p>
          </div>
        ))}
      </div>
    </section>
  );
}

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

PackageVersion
react^19.1.0
react-dom^19.1.0
vite^6.3.0
@vitejs/plugin-react^4.4.0
tailwindcss^4.1.0
@tailwindcss/vite^4.1.0
typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Opens at
/
Difficulty
intermediate

Projects run in an isolated sandbox with a live preview. Read the projects documentation for details on settings, snapshots and deployment.

Need the raw data? GET /api/v1/templates/vite-react-saas returns this template with its files.

Build on SaaS starter

Create a free account, start from this template, and ask the AI agent to turn it into your app.