Every project carries its own server, not only its screens
A generated app now ships an API, a data layer with two drivers and its own accounts - so the ZIP somebody downloads behaves like the preview they approved.
The export used to be a frontend: the screens, the styles, and rows that lived in one browser's storage. Taken anywhere else - a customer's host, a container, a repository - it lost its data the moment the tab closed, and the database a team wanted had nowhere to plug in.
The project writes its own server now: a small `node:http` API, one JSON file per collection with atomic writes, Postgres behind the same interface the day `DATABASE_URL` exists, migrations that own the schema, and accounts with hashed passwords and a signed session cookie. One command starts the API and the dev server together.
None of it changes a screen: the data module asks which of the three places is live and uses that one, so the same code runs in the preview, on a published Kood address and on the machine of whoever downloaded it.