Introduction
zap.ts is a paid starter kit for building a SaaS product in TypeScript. Sign-in, payments, database, email and file uploads are already built.
zap.ts is a starter kit. A starter kit is a working codebase you copy and build your own product on top of.
It saves you the first two months. Sign-in, teams, payments, email, file uploads, background jobs and error reports are already built and already connected to each other.
zap.ts is not a framework. Nothing is hidden. Every file is yours to read, change or delete.
What is inside
zap.ts holds six apps:
| App | Address | What it does |
|---|---|---|
web |
app.<domain> |
Your product. Users sign in here. |
marketing |
<domain> |
Your public website: home page, blog, legal pages. |
admin |
admin.<domain> |
Your back office. See users, ban them, sign in as them. |
api |
— | Your own public API, for customers to build on. |
docs |
— | A docs site for your own product. |
emails |
— | A tool to preview your emails while you design them. |
Shared code lives in packages/. Every app imports it. Nothing is copied
twice.
What is already decided
These are the choices that take a week to get right on your own:
- Postgres and Drizzle store your data.
- Better Auth handles sign-in, teams, two-factor codes and passkeys.
- Seven payment companies are supported. Stripe is set up by default.
- varlock checks your settings. If a key is missing, the build stops and tells you which one.
- Sentry reports errors. PostHog shows you how people use the app.
See Tech stack for the full list and the reason behind each choice.
What is not decided
Your product. Your database tables, your pages, your prices, your design.
The example data and the example plan IDs are there to be replaced.
It runs on your computer with nothing to sign up for
You do not need a payment account, a storage account or an email provider to start.
Docker sets up a database, an email inbox and a file store on your own computer. zap.ts already points at them. Payments start in test mode, so no real card is ever charged.
Five commands and the app is running. See Quickstart.
Licence
zap.ts is paid software. One licence covers one developer or one team. You can build as many products as you like with it. You cannot resell or give away the zap.ts code itself.
The full terms are in the LICENSE.md file in the repository.
Where to go next
- Quickstart — get it running in five commands
- Tech stack — what it is built with, and why
- Project structure — what each folder holds
- Add a feature — build your first feature, step by step