What happened
Base44, an AI app builder that lets people build software by describing what they want in chat, rolled out Branches, a way to work on a separate copy of your app without touching the live version.
Creating a branch starts a fresh copy of your app from wherever your main version currently stands. You build on that copy the same way you always build, by chatting with Base44’s AI. Nothing you do there changes the live app until you explicitly merge it back into main. Each branch gets its own chat and its own live preview, so you can leave a branch mid-experiment and come back to it later without losing progress.
Merging is a two-step process. First you merge a branch into main, which folds your changes into the main version. Then you publish from main, which is the separate step that actually pushes those changes to your live app. Base44 says this exists so “you stay in control of exactly what goes out and when,” meaning a merge alone doesn’t put anything in front of your users.
Why it matters
The idea will be familiar to anyone who has heard of Git branching, the standard way professional developers isolate work in progress from a project’s live codebase. Base44 is bringing a version of that discipline to people who build without writing code, letting you try a redesign or a risky feature without a live app to catch a mistake in front of real users.
But there’s a catch worth understanding before you rely on it. Design and page layout are isolated per branch, so cosmetic and structural changes stay contained until you merge. Your actual data is not. Base44’s own announcement is direct about this: records, connections (the outside accounts and services your app links to, like a payment processor or an email tool), automations, workflows, in-app agents, and app settings are shared across every branch and main. “Any records you add, change, or delete while previewing a branch affect your real data everywhere.”
That means if your app has a live database of real customer records and you’re testing a branch that deletes or edits entries, previewing that branch touches the same data your production app uses. A branch protects your design and code from mistakes. It does not protect your data.
Base44’s fix is a separate feature called test data, which lets you swap in fake data for a branch’s preview instead of pointing it at your real records. According to Base44, test data is available on the Builder plan and higher, and you set it per branch, not once for the whole app. If you’re on a lower plan, that safety net isn’t available to you, so any branch that touches records is working against your live data by default.
One more limitation: apps synced to GitHub, the external service some builders use to store and track versions of their app’s underlying code, can’t use branches at the same time as that sync. And publishing, changing your app’s data structure, and editing stored credentials, connections, or automations only happen from main, not from inside a branch.
Who should care
This matters most if you’re running a live Base44 app with real users and real data, and you want to test a feature that reads, writes, or deletes records, not just one that changes what a page looks like. It also matters for teams: Base44 says branches let people work on separate features in parallel, which raises the odds that more than one person is previewing a data-touching branch against the same live records at once.
If your app is still in early development with no real user data at stake, the shared-data behavior is much lower risk, since there’s nothing sensitive to accidentally overwrite yet.
What builders should do next
Before you preview any branch that adds, edits, or deletes records, check two things: whether your plan includes test data, and whether you’ve actually turned it on for that specific branch. Test data is set per branch, so enabling it once doesn’t cover every new branch you create afterward.
If you’re not sure whether test data is active on the branch you’re about to preview, treat every action in that preview as if it were happening on your live app, because for shared data, it is. A rename or a page redesign is safe to test freely. A record delete or a bulk edit is not, unless you’ve confirmed test data is on.
Branches make Base44 closer to how professional developers already isolate risky work from production. The gap between that pattern and what Base44 actually protects, your design but not your data by default, is the part worth knowing before you trust a branch with anything that touches real records.
End of article