The Visual Website Builder
You Actually Own. React + Next.js, low-code, self-hosted. Your data, your infrastructure, every feature included.
© ChaiBuilder. All rights reserved.

There are two ways to get started with ChaiBuilder. Both end in the same place - a
Next.js + Payload CMS site with chaipro pre-installed, running on your own database
and hosting - and the 30-day free trial begins the moment you deploy, with no credit
card and no email required.
| One-click deployment | Local setup | |
|---|---|---|
| Where setup happens | Entirely in the browser | On your machine |
| Requirements | A hosting account (Vercel to start) and a SQLite (libSQL/Turso) or Postgres database | Node.js |
| Best for | Getting a live site fastest, no local environment needed | Local development, custom blocks, working offline |
You can switch at any time - a one-click site can be cloned and run locally, and a local project deploys anywhere Next.js runs.
SQLite or Postgres - both fully supported. Whether set up through the
/setupwizard or the CLI, a starter project runs on SQLite (a local file or a hosted libSQL / Turso database) or Postgres. Whichever path you take below, the only database prerequisite is one of these two.
No local machine needed. You deploy the public starter first, then finish setup in the browser through the built-in setup wizard. The wizard is configured to work with Vercel and other hosted platforms - Vercel is the platform we're starting with.
Prerequisite: a SQLite (hosted libSQL / Turso) or Postgres database. Free options exist for both, and the wizard links you to them. For provider choices, connection strings, and pooling, see Database Setup.
Click the deploy button for your database:
Vercel copies the starter to your own GitHub account and puts it online. You do not need to fill in any settings yet - the starter boots without configuration.
When the deployment finishes, open your new site. Every route redirects to /setup, a
short wizard that runs on your own deployment:
The wizard then prepares the database, creates your admin account and your site record, and shows a paste-ready block of environment variables - including your site's app key. Nothing you type is stored by ChaiBuilder; the wizard talks only to your own database.
Paste the generated variables into your host's settings - on Vercel, Settings → Environment Variables - and redeploy from the Deployments tab. Every variable is explained in Environment & License.
Why the redeploy? The variables include your database credentials and other secrets. They belong in your hosting provider's settings, not in code, and a site only picks up new settings on the next deployment. This is the only redeploy - after it, you're done.
Open /admin and sign in with the email and password you set in the wizard. Visiting
/setup on a configured site shows a status checklist of what's configured and what's still
missing (media storage, AI, site URL).
Any host that runs Next.js works the same way - on Netlify, import the variables under Site configuration → Environment variables, then redeploy.
Two ways to set up locally, both ending in the same project. Option 1 (CLI) generates
everything through terminal prompts. Option 2 (cloned starter + /setup) uses the same
browser wizard as the one-click path, just running on your machine.
Prerequisites: Node.js. Both options work with SQLite (a local file or hosted libSQL / Turso) and Postgres - with a local SQLite file, no database server is required to start. Exact version requirements are listed in Requirements.
Run the scaffolder on your machine. It walks you through a few prompts and generates a fully functional project - downloading the template, writing your environment, installing dependencies, running migrations, and seeding the database. No manual clone or wiring.
npx chaibuilder-app create
The wizard runs in three phases:
[1/3] Database setup - pick your project name, then choose your database:
file:./local.db, zero config. Created for you; fastest way to start.libsql://… URL and auth token. The scaffolder
verifies the connection before continuing.To run on Postgres, point DATABASE_URL at your Postgres connection string - see
Database Setup for connection strings, pooling, and
schema isolation.
A local file database can move to Turso (or another libSQL service) later - import the file and switch your env URL to the remote one. You're not locked into where you start.
[2/3] Create admin user - enter an admin email and password. This is the account you'll use to log into the builder - there's no separate signup step.
[3/3] - the scaffolder installs dependencies, migrates, and seeds the database.
Everything is written into the project's environment configuration, so the app is pointed at your own database from the start. All content lives in your database - ChaiBuilder never has access to it.
/setup guide youPrefer the browser wizard? Clone the starter repository, install, and run it:
git clone https://github.com/chaibuilder/chaibuilder-starter my-app
cd my-app
pnpm install
pnpm run dev
Open the app in your browser - an unconfigured starter takes you straight to /setup,
the same wizard as the one-click path: name your site, connect your database (SQLite or
Postgres), create your admin login. Add the environment variables it generates (including
your app key) to your .env and restart.
If you used the CLI, move into the project and start it (the scaffolder prints the exact dev command; it detects your package manager, defaulting to pnpm):
cd my-app
pnpm run dev
Open the app in your browser and sign in with the admin email and password you set during setup. Confirm the visual builder loads.
Because a ChaiBuilder site is a standard Next.js app, it deploys anywhere Next.js + Payload runs - Vercel, Netlify, Cloudflare, a self-managed Node server, and more - to hosting you own.
pnpm run build
pnpm run start
Point your database environment variables at your production database. Start at Hosting Overview, then follow the page for your target: Vercel, Netlify, Cloudflare, or Node / Docker.
Whichever path you took, a few things apply to every site:
For the full editing workflow, see Building Pages.
