Creating an app
Two ways:- Ask the AI - describe what you want in a thread and the AI builds it
- New app button - click + in the Drive sidebar and choose New app
One app, one branch
Each app is a single git checkout onmain. There are no separate drafts, no branch switching, no merge step. Every edit lands on main as a commit; publishing is just “deploy the current main”.
The build cycle
- The AI writes code directly on
main - The AI starts the dev server. You see a live preview.
- You iterate by chat: “move the chart to the sidebar”, “add a dark theme”
- The dev server hot-reloads after each edit
- When ready, publish
Publishing
Publishing deploys the currentmain commit. There is no separate production branch — the most recently published commit on main is what’s live.
When you publish to the catalog for others to install, your app receives a user identity token on launch, an install key for its backend, and install/uninstall webhooks. See Publishing.
Caching, updates, and offline
Desktop and mobile only open your app URL in a normal browser view. They do not clear browser caches, force network-only loads, or pick a different cache policy for public vs private apps. Your web app owns caching:- HTTP
Cache-Controlheaders for documents and assets - Optional service worker / PWA setup (templates ship
vite-plugin-pwawith auto-update) - Whether a new build activates immediately, reloads once, or waits for the next open
- Offline fallback for the latest activated build
registration.update()). Apps without a service worker ignore that check and keep using their own HTTP cache headers.
Published apps can therefore open instantly from cache, pick up a new build without a hard refresh, and keep the latest build available offline.
Deploying
After publishing, deploy to get a live URL:- Remote apps deploy to Kazzle’s cloud and get a public URL
- Local apps install on your computer. The UI loads directly, and the process part runs a dev server.
Realtime apps
For apps that need instant local reads and offline support, the AI:- Creates a database
- Turns on realtime sync
- Builds a two-part app: UI (React + sync client) and Process (token endpoint + sync upload)
- Wires credentials through the vault