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 { Link } from "../router";
const tiers = [
{ name: "Free", price: "$0", features: ["1 workspace", "3 projects", "Community support"] },
{ name: "Pro", price: "$19/mo", features: ["Unlimited projects", "Priority support", "Usage analytics"] },
{ name: "Team", price: "$49/mo", features: ["Everything in Pro", "5 seats", "Roles and audit log"] },
];
export function Pricing() {
return (
<section>
<h1 className="text-3xl font-semibold tracking-tight">Pricing</h1>
<p className="mt-2 text-slate-600">Placeholder tiers. Connect a payment provider to make these real.</p>
<div className="mt-8 grid gap-6 sm:grid-cols-3">
{tiers.map((t) => (
<div key={t.name} className="flex flex-col rounded-xl border border-slate-200 bg-white p-6">
<h2 className="font-medium">{t.name}</h2>
<p className="mt-2 text-3xl font-semibold">{t.price}</p>
<ul className="mt-4 flex-1 space-y-2 text-sm text-slate-600">
{t.features.map((f) => (
<li key={f}>• {f}</li>
))}
</ul>
<Link to="/signup" className="mt-6 rounded-lg bg-slate-900 px-4 py-2 text-center text-sm font-medium text-white">
Choose {t.name}
</Link>
</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.
| 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.