Environments and deployments
Every TalkIDE project has at least one environment, and you can create more. This page explains what an environment actually is, why each one keeps its own data, and what happens (and doesn’t happen) when you publish.
What an environment is
An environment is a separate, running copy of your app, with its own database. Every project starts with one automatically: the default environment, where you work with the AI team and watch a live-updating preview.
You can create additional environments whenever you want another place to publish to. These show up with a Custom badge. A common pattern is to use one custom environment as your live, public site while you keep building in the default environment, but the name is entirely up to you. Studio only asks for a Name and a Slug, with the slug auto-filled from the name and restricted to lowercase letters, digits, and hyphens.
Each environment has its own database
This is the part that catches people off guard, so it’s worth stating plainly: environments don’t share data. Any data your app creates and stores through its own backend or admin panel, whether that’s user accounts, an admin login you set up for yourself, pages, or form submissions, lives only in the one environment where it was created.
A brand-new environment always starts with an empty database, even if you’ve already been working and adding content in another environment of the same project.
What Publish actually does
Publish builds and deploys your app’s current code. It does not copy any data.
Every time you click Publish, whether it’s the first time for a given environment or a later republish, TalkIDE takes a fresh build of your project’s code and deploys it to the environment you chose. It never reads from, copies, or seeds any data from another environment. That’s true the first time you publish to a brand-new environment, and it’s true on every republish after that.
For the mechanical steps of publishing (choosing an environment, picking a subdomain, watching the build), see Going live: publishing your app.
What this means in practice
If you’ve set up an admin login, added pages, or entered other content while working in one environment, publishing to a new environment won’t bring any of that along automatically. You’ll want to set those things up again in the new one: sign up or log in again through whatever sign-up flow your app has, and re-add any key content.
There’s no built-in feature today for copying content from one environment to another. That’s not a gap anyone needs to work around quietly, it’s just how the model works: publishing moves code, not data. If your published app looks emptier than what you’ve been building in preview, this is almost always why.
Feature toggles are per environment too
A couple of features on the platform can be switched on or off separately for each environment, from that environment’s detail view.
Managed Storage is TalkIDE’s built-in file storage feature, for things like uploaded images. It’s a separate toggle from your app’s database, and it’s controlled independently per environment. Storage behaves differently from your database under the hood, so if a media or gallery feature in your app looks incomplete right after publishing, it’s often actually about your app’s own database content (see above) rather than storage itself.
Transactional Email is the other toggle you’ll find next to it, for sending verification and notification emails from apps in that environment. Between the two, the pattern is the same: these are independent switches per environment, not something that carries over automatically when you create a new one.
Related
- Going live: publishing your app: the step-by-step for publishing, choosing a subdomain, and republishing.
- Connect a custom domain: each environment can have its own domain or subdomain.
Thanks for the feedback.