It's still yours in five years
Two things happened while we were building Doric. A popular app builder announced it was shutting down, orphaning hundreds of thousands of projects. And a major platform sunset its own builder, forcing its users to migrate. Both made the same point: if your product lives on someone else's platform, it isn't really yours.
The tension every builder tool dodges
There's a real conflict at the heart of this category. Frictionless onboarding wants everything to run on the vendor's infrastructure — no setup, instant preview. True ownership wants everything to run on yours — your cloud, your data, your control. Most tools pick onboarding and quietly keep you. We didn't want to pick.
Two tiers, one clean seam
So Doric has two tiers, separated by a single architectural seam:
- Preview runs instantly on Doric's infrastructure. Zero setup. It's a taste, not a home — somewhere to see the thing work before you commit.
- Own it deploys the same product to your own Supabase or Postgres — schema, migrations, access rules and all — through your connected account. Your files, your history, your control.
Crossing from one to the other is not a migration project. It's the seam doing its job.
The line we won't cross: "yours forever" has to be structurally true, not a marketing promise. The only way to keep it honest is to make leaving easy — and to mean it.
How the seam works
Every piece of the app that touches data or files goes through a single provider-agnostic interface — a gateway. The application code never names a vendor. It asks the gateway for storage and data; the gateway decides what's behind it.
app code → storage gateway → [ preview: our cloud ]
→ [ own it: your Supabase / Postgres ]
Because the seam is the only path to the backend — we scan for leaks to be sure nothing routes around it — swapping the backing store is a configuration change, not a rewrite. The shape your code talks to is relational and Postgres-flavoured from day one, even in preview, so what you build against is what you deploy onto. No surprises at the border.
Files and history travel too
Ownership isn't just the database. Your files live in object storage with full version history underneath — every version durable, the milestones you marked visible on top. When you own the project, that history is yours to export and your file store is yours to point wherever you like. Recovery is cheap; lock-in is absent.
Why we made portability load-bearing
Because the alternative keeps failing in public. Platforms get acquired, sunset, repriced. The users who trusted them with their products are left scrambling to migrate something they were never given clean access to in the first place.
Doric is the tooling layer, not the platform you're trapped inside. We'd rather earn your stay every month than lock the door behind you. If we're doing our job, you'll want to keep building here. But the choice — and the product — stays yours.
Platforms abandon you. Your product should live where you control it.