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
import type { ReactNode } from "react";
import { Link } from "../router";
import { useAuth } from "../auth";
export function Layout({ children }: { children: ReactNode }) {
const { user, signOut } = useAuth();
return (
<div className="min-h-screen bg-slate-50 text-slate-900">
<header className="border-b border-slate-200 bg-white">
<div className="mx-auto flex max-w-6xl items-center justify-between px-4 py-3 sm:px-6">
<Link to="/" className="font-semibold tracking-tight">
Acme
</Link>
<nav className="flex items-center gap-4 text-sm">
<Link to="/pricing" className="text-slate-600 hover:text-slate-900">
Pricing
</Link>
{user ? (
<>
<Link to="/app" className="text-slate-600 hover:text-slate-900">
App
</Link>
<button type="button" onClick={signOut} className="rounded-md border border-slate-300 px-3 py-1.5 hover:bg-slate-50">
Sign out
</button>
</>
) : (
<>
<Link to="/signin" className="text-slate-600 hover:text-slate-900">
Sign in
</Link>
<Link to="/signup" className="rounded-md bg-slate-900 px-3 py-1.5 font-medium text-white hover:bg-slate-700">
Start free
</Link>
</>
)}
</nav>
</div>
</header>
<div className="mx-auto max-w-6xl px-4 py-8 sm:px-6">{children}</div>
<footer className="mx-auto max-w-6xl px-4 py-8 text-xs text-slate-500 sm:px-6">
Mock authentication — replace <code>src/auth.tsx</code> with a real provider before launch.
</footer>
</div>
);
}
Dependencies
Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.
| Package | Version |
|---|---|
| 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.