The 8 starter kitsTanStack + Convex
TanStack + Convex
Overview of the TanStack Start + Convex starter: what it ships, what you need, and where to go next.
This kit uses TanStack Start, Convex reactive queries and Convex Auth. You get the account, workspace and project foundation, a separate admin application, and separate agent connections for users and application administrators.
Open the live demo · Admin demo · Repository
The stack
| Layer | What the kit uses |
|---|---|
| Frontend | Two TanStack Start apps (apps/web for customers, apps/admin for platform administration) with TanStack Router, Vite, React 19, Tailwind CSS 4 and Radix UI primitives |
| Backend and database | Convex (schema, queries, mutations, HTTP actions, scheduled work, file storage) in apps/database/convex, shared by both apps |
| Authentication | Convex Auth with password, magic link (Resend) and Google, GitHub and Twitter OAuth providers |
| Emails | React Email templates in apps/email, delivered through Resend |
| Hosting used by the demo | Two Vercel projects (web and admin, Nitro vercel preset) and one Convex cloud deployment for the backend |
Public routes may server-render. Protected application and admin routes render on the client after Convex Auth resolves. Convex is the application backend; TanStack server functions are reserved for HTML, headers and web-runtime concerns.
What you get out of the box
- Accounts with onboarding, profile settings, security settings, email change and account deletion
- Workspaces with owner, admin, member and readonly roles, invitations, settings and workspace deletion
- Projects with slugs, statuses, comments and project chats
- A separate admin app (
apps/admin, port 3002) at/app-adminwith users, workspaces, payment gateway views, feedback, marketing content, an audit log, settings and admin agent connections - Audited impersonation: an administrator opens a customer's account in the web app through a one-use handoff token
- A User MCP and an Admin MCP with OAuth consent, so agents can act through the app's own permissions
- Stripe billing: customers, products, prices, subscriptions, invoices, usage, credits and a signed webhook
- Public content: blog, changelog, roadmap, docs and feedback boards
- API keys for the authenticated HTTP API (
/api/v1/me,/api/v1/workspaces) and an OpenAI streaming endpoint - File uploads through Convex storage, notifications, rate limits, aggregates and durable background jobs
- Optional PostHog browser analytics
- Instructions and MCP configuration for AI coding tools generated from one
AGENTS.mdwithpnpm agents:sync
Prerequisites
- Node.js 24. The repository's
.nvmrcsays24andpackage.jsonenginesrequires>=24. - pnpm 10.33.0, declared in the
packageManagerfield. Runcorepack enableand let it pick the version. - No Docker. Convex ships its own local backend, stored in
.convex/. - A Convex account is only needed when you deploy. Local development uses the CLI's anonymous agent mode.
- Optional accounts: Resend (auth and app emails), Google, GitHub or Twitter (social login), Stripe (billing), OpenAI (AI endpoint), PostHog (analytics), Vercel (hosting).
Next steps
- Installation: clone, start the local Convex backend and run the web and admin apps.
- Environment variables: every variable in the two example env files.
- Authentication: Convex Auth, verification emails, the admin claim flow and impersonation.
- Agent connections: User MCP and Admin MCP, tools and consent.
- Project structure: the monorepo and where to make changes.
- Deployment: Convex production deployment and two Vercel projects.
For the shared guides, start with getting started and troubleshooting.