Database Infrastructure for Agencies Building Client Software
Agencies building client software should weigh who owns the database after handoff when choosing between Supabase and AWS RDS, because each product belongs to a different client and moves over when the engagement ends. That handoff detail can matter more than the technical merits of either platform.
Vendors Covered in this Article
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Who owns the account after the contract ends
When a client's product ships, the database needs to move from your agency's infrastructure into theirs, or your agency needs a clean way to bill them directly going forward. Supabase makes this simple: create the project under the client's own organization from day one, or transfer it later, and the client ends up with a plain PostgreSQL instance plus the auth and API layer already wired to their application. AWS RDS handoffs mean transferring an AWS account, or the resources inside one, which usually involves the client's own AWS billing setup, IAM roles, and VPC configuration, a heavier conversation than most clients expect.
Standardizing across projects without locking every client into your stack
An agency benefits from one internal playbook: the same auth pattern, the same migration tooling, the same backup checklist, applied to every client build. Supabase's bundled auth and row-level security make that playbook portable across projects with very different data models, since the plumbing looks the same underneath. AWS RDS gives you more flexibility to match a client's existing AWS footprint (their VPC, their IAM conventions, their monitoring stack), which matters when the client already runs infrastructure and wants your build to plug into it rather than sit beside it.
In practice, most agencies end up running both, and that is fine. Keep a default (Supabase for greenfield builds without existing infrastructure, RDS for clients already committed to AWS) and require a specific reason to deviate from it. The playbook does not need to be one platform; it needs to be one decision process every engineer on the team applies the same way.
What clients ask about during due diligence
Clients considering an acquisition offer or a Series B round get asked whether their data is portable and whether uptime commitments are real. Because both Supabase and AWS RDS run standard PostgreSQL, portability is not the concern it once was with proprietary backend platforms. What varies is the operational story: a buyer's technical diligence team will want to see backup retention, point-in-time recovery, and, for a client on RDS, multi-AZ configuration. Teams that can point to a tracked deploy frequency1, rather than an informal sense of how often they ship, tend to move through that kind of review faster, since it answers a question the diligence team was going to ask anyway.
Bring the documentation with you before the diligence request arrives, not after. A short one-page summary of backup frequency, retention window, and the last time a restore was actually tested saves a client days of back-and-forth with a buyer's technical team, and it is the same document you should already be keeping for your own operational sanity.
Estimating and quoting infrastructure cost inside a fixed-bid project
Supabase's flat Pro and Team pricing is easier to fold into a fixed-bid quote than AWS RDS's line-item billing, where compute, storage, IOPS, and data transfer all move independently as the client's usage changes. Agencies quoting time-and-materials work have more room to pass AWS's variable costs through directly; agencies quoting a fixed price for a deliverable tend to prefer the predictability of a flat database bill, since a spike in a client's traffic should not eat into the agency's margin on a project that already closed.
Say your agency signs a fixed-price contract to build a client portal over three months. A traffic spike during a client's own product launch, right in the middle of your build, should not turn into an argument about who pays for the extra AWS bill. Decide that split in the statement of work before you provision anything, not after the invoice arrives.
A short checklist before you pick a platform for the next client build
- Confirm who will own the account after launch, the client or your agency, before you provision anything
- Ask whether the client already runs production workloads on AWS; if so, RDS avoids a second vendor relationship
- Estimate the client's expected traffic pattern; spiky or unpredictable traffic favors Supabase's flat pricing
- Write the handoff runbook (credentials, backup schedule, escalation contact) before the project starts, not after it ends
- Put the infrastructure cost split (who absorbs a usage spike) into the statement of work, not just the handoff document
What Good Looks Like
Every client project ships with a documented handoff runbook (account ownership, backup schedule, recovery steps) and row-level security enforced before the database ever holds real client data.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
AWS RDS is the natural fit when a client already runs production infrastructure on AWS and wants your build to plug into their existing VPC.
Google Cloud's managed Postgres and AlloyDB make sense when a client's existing stack, or procurement preference, already points to Google Cloud.
Frequently Asked Questions
Should we provision the database under our agency's account or the client's?
Under the client's account whenever possible, even during development. It avoids a fragile handoff later and lets the client's own team see real usage and billing from the start, which also surfaces cost surprises before launch instead of after.
How do we hand off an AWS RDS instance cleanly at the end of a project?
Build inside the client's own AWS account from the beginning if you can. If that is not possible, plan the account or resource transfer with the client's AWS support before launch, since IAM roles, VPC peering, and billing all need to move together.
Does using Supabase limit what we can build compared to raw RDS?
Not for typical product work. Supabase is standard PostgreSQL, so anything you would build against RDS works the same way. The difference shows up in edge cases needing deep AWS integration, private VPC peering into other client-owned services, or Aurora-specific storage features.
Which option is easier to defend in a client's technical due diligence?
Both hold up fine, since diligence teams care about backups, recovery time, and access controls, not the vendor name. Document the backup schedule and point-in-time recovery window for whichever platform you chose, since that is what gets asked for.
Sources
Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.
- Deployment frequency by DORA performance cluster (max days between deploys). DORA Accelerate State of DevOps 2024 (Google Cloud), cluster table via Octopus Deploy analysis, 2024.
Related Guides
AWS or Google Cloud When You Build Software for Other Companies
How a custom software or product engineering shop should weigh AWS against Google Cloud across client projects, billing and handoffs.
Migrating From Supabase to Amazon RDS: A Planning Guide
Plan a move from Supabase to Amazon RDS: what Supabase gives you beyond Postgres, extension and role checks, dump and restore, low-downtime cutover.
Kubernetes vs. ECS When You Deploy Into a Client's Account
A custom software shop's infrastructure choice has to survive the handoff at the end of the contract. Here's a worked example for picking Kubernetes or ECS.
MongoDB Atlas vs AWS RDS vs Supabase: Managed Database Comparison
Compare MongoDB Atlas, AWS RDS, and Supabase for managed databases: document vs relational schemas, automated backups, developer velocity, and cloud cost.
CrowdStrike vs SentinelOne for Software Development Shops
A custom software agency's endpoint risk lives on contractor laptops touching multiple clients' code. Here is how CrowdStrike and SentinelOne fit that.
Choosing Auth0 or Clerk for a Client's Custom Software
A checklist for dev shops choosing Auth0 or Clerk on a client's behalf, covering ownership, handoff documentation, and pitfalls to avoid.