Two choices people often merge into one
When someone says "I need another app," they usually mean one of two very different things — a second front-end for a different audience, or the same front-end running somewhere else. Keeping them apart makes both decisions easy.
| An interface | A host | |
|---|---|---|
| What it is | One front-end of your app: its screens, its routes, its sign-in page. | The machine estate that runs an interface and serves it to browsers. |
| What it changes | What people see and can do. | Where the code runs, how fast it responds, what it costs. |
| How many you can have | As many as you have audiences. | One interface can be published to more than one at once. |
| Effect on your data | None — they all share one dataset and one set of rules. | None at all. |
One backend, several interfaces
Splitting is worth it when the audiences genuinely want different apps. It is not worth it when they only want different amounts of the same app — that is what roles and row-level security are already for.
| You want | What you actually need |
|---|---|
| Managers to see more records than staff | One interface. Roles and row-level security. |
| A public customer portal and an internal console | Two interfaces — different brand, different sign-in, different navigation. |
| A phone app for people in the field | A second interface, built for a small screen and offline use. |
| A branded front-end per client, same features | One interface per client, all on the one backend. |
| To turn an AI feature on for staff but not customers | Two interfaces — these settings are per interface. |
One interface, several hosts
When you publish, the panel shows a row per host. You pick where this release should go, and you can send the same release to more than one.
| Host | What it gives you | Reach for it when |
|---|---|---|
| Tadabase AI | Our managed hosting. Nothing to set up, included with your plan. | Almost always. This is the default and the right answer for most apps. |
| Fly.io | Runs your app on infrastructure spread around the world. | Your users are far from us, or spread across continents, and page loads feel sluggish for some of them. |
| Cloudflare | A container platform that scales to zero and wakes on demand. | Traffic is quiet or spiky — a seasonal tool, an event portal, an internal app nobody touches at night. |
What changes when you move host, and what does not
| Changes | Stays exactly the same |
|---|---|
| The address the app is served from | Your data — same tables, same records |
| How far the request travels, and how fast it feels | Your row-level security rules |
| How the app behaves when idle (some hosts sleep) | Your users and their sign-ins |
| Where the running cost lands | Your workflows, PDFs and files |
| The code — one release, not a fork per host |
That right-hand column is the point. The host is genuinely below your app in the stack; it can be swapped the way you would swap the machine a website runs on, without anything above it noticing.
Domains sit above hosting
Every host serves the app on an address of its own, generated for you. A custom domain is a separate thing you put in front, attached in the project’s settings and pointed at our edge with a CNAME — which is exactly why moving hosts does not break the bookmark your customer saved.
Custom domains are a plan resource: each one you attach uses a domain slot.
Add a custom domainCNAME, attach, wait for the certificate. Usually under a minute.Common mistakes
- Building a second interface to hide records from someone. Row-level security already does that, and does it on the server where it cannot be worked around.
- Treating a preview address as an address you can share. Previews are temporary and go to sleep when idle — publish to get a permanent one.
- Expecting a host change to fix slow queries. Hosting moves the app, not the data. If a page is slow because it asks for too much, it will be slow everywhere.
- Assuming a host that sleeps is broken on the first request after a quiet spell. It is waking up; that is what you traded for the lower cost.