Introduction

Twins lets you clone a Supabase project to another in just a few clicks. Database, files, users, functions — everything is copied automatically.

Why use Twins?

The problem: dev and production share the same project

Today, most developers using Supabase work directly on their production project. When you modify a table, add a column, change an Edge Function, or adjust an RLS policy — you're doing it on the database where your users are connected right now.

This is risky. A migration that breaks a schema, a misconfigured trigger, an overly permissive RLS policy — and your users are immediately affected. No safety net, no simple rollback.

With the rise of vibe coding and AI-assisted development tools, this problem is amplified. We iterate faster than ever — generating code, testing ideas, modifying schemas on the fly. It's powerful, but it makes the lack of separation between dev and production even more dangerous. The faster you move, the higher the risk of impacting your live users.

The solution: separate staging and production

The principle is simple: never develop on production.

  1. You have a production Supabase project — that's the one your users rely on
  2. You create a staging project — that's your development and testing environment
  3. You develop, test, break, and rebuild freely on staging
  4. Once everything is solid, you deploy to production with confidence

The problem is that Supabase doesn't offer a built-in feature to duplicate a project. Creating a staging environment that faithfully mirrors production — with the same schema, data, functions, RLS policies, Edge Functions — is manual, time-consuming, and error-prone work.

That's exactly what Twins solves.

Twins clones your entire production project to a staging project in just a few clicks. And when you need to refresh your staging with the latest production data, you run a new clone — or schedule one to run automatically.

What it changes in practice

Without TwinsWith Twins
You test your changes directly in productionYou test on a staging environment identical to production
A mistake immediately impacts your usersA mistake stays isolated on staging
You hesitate to modify the schema or functionsYou experiment freely, without consequences
You manually recreate tables, data, and configEverything is cloned automatically in minutes
No visibility into differences between environmentsPost-clone verification to confirm consistency

What Twins can clone

ComponentWhat is copied
TablesFull structure: columns, types, constraints, indexes
DataAll rows (or a subset with a limit)
ViewsSQL views
FunctionsPostgreSQL functions and stored procedures
TriggersTriggers on tables
RLS PoliciesRow Level Security — row-level access rules
Edge FunctionsSupabase serverless functions
StorageBuckets and files
Auth UsersUser accounts with metadata
Cron JobsScheduled tasks (pg_cron)
WebhooksDatabase event notifications
Realtime ConfigReal-time publication configuration
Project ConfigAuthentication providers, PostgREST settings

How it works, in brief

  1. Connect your Supabase account to Twins
  2. Choose a source project and a target project
  3. Preview what will be cloned
  4. Start the clone
  5. Monitor progress in real time
  6. Verify that everything was copied correctly

Available plans

PlanClones per monthPrice
Free3Free
ProUnlimitedSee Billing

Next steps