~/rivestack $ switch --from supabase_
Bring your Postgres bill.
Keep your weekend.
// Send us your last Supabase, Neon, or Vercel Postgres invoice. We match its dollar value in Rivestack credit for three months. Then we migrate your database for you, over a weekend, for free.
The Switch offer · limited to the first 25 teams
// Honestly, it's just two of us. We know switching databases is a pain. The schema audit, the replication hiccups, the 4 a.m. cutover nobody on the team really wants to own. So we'd rather sit in Slack with ten teams and do that work ourselves than spend the same money on ads to find a thousand strangers. If this doesn't pay back in a year, we'll have learned something. If it does, we'll keep going.
$ Founder
# the offer, in three pieces
// No tiers, no upsell ladder, no asterisks that pop up later.
What you send us
A screenshot or PDF of your most recent monthly invoice from Supabase, Neon, Vercel Postgres, or RDS. Redact whatever you want. We only need the dollar total and the database tier.
What you get back
Rivestack credit equal to that invoice × 3 months. A fully migrated database with zero downtime. A direct Slack channel with the two people who built and run the platform.
What you don't pay for
The migration work. The consultation call. The rollback plan if it doesn't work. None of it shows up on a bill.
# how the migration actually works
// Four steps, run by humans. pgvector indexes, extensions, and replication slots are handled, not skipped.
01
We read your schema and indexes
You give us read-only credentials (or a pg_dump). We inventory every table, index, extension, replication slot, role, and pgvector index, including HNSW parameters (m, ef_construction) and IVFFlat lists. We send you the diff before we touch anything.
02
We provision a matching Rivestack instance
Same Postgres major version, same extensions, same locale. pgvector 0.8 pre-installed. Pooler, PITR, and HA are wired up by default. You get a connection string to validate against before cutover.
03
We run logical replication until lag is under a second
pglogical or native logical replication, depending on your source. We tail the lag in Slack with you. We don't schedule the cutover until p95 replication lag has been under a second for at least an hour.
04
We flip DNS and connection strings during your maintenance window
You pick the window. We do the cutover. Usually under 60 seconds of write downtime, and read traffic stays online via the read-only replica. If anything looks off in the first 24 hours, we flip back; the source database is still live and untouched.
# 8 GB managed Postgres + pgvector + daily backups
// Honest list prices from each provider's pricing page. Click through to verify. We don't want to misquote anyone.
Base plan: 8 GB DB, daily backups, pgvector enabled. Compute starts at "Micro" (1 GB RAM). Vector workloads usually need a Small (+$15) or Medium (+$60) compute add-on. PITR is a separate $100/mo add-on.
10 GB storage included. Compute autoscales 1 to 4 CU and is metered separately, so a steady 2 CU pgvector workload comes out closer to $40 to $60/mo. 7 day PITR included.
2 vCPU / 4 GB RAM on local NVMe, single-tenant. 55 GB storage. pgvector 0.8 tuned (HNSW). Daily backups + 14 day PITR. Pooler included. Fixed price. Compute is not metered.
Whatever your last invoice said × 3 months, applied as Rivestack credit. Migration done by us. You start paying month four at our normal list price, same rows above.
# eligibility, in plain language
- $A single Postgres database under 100 GB qualifies. Larger than that, send it anyway and let's talk. We just want to scope the cutover honestly first.
- $Offer is per company, not per person. Don't try to stack four invoices from the same org.
- $Credit applies to compute and storage on Rivestack. It doesn't apply to third-party add-ons, support contracts, or anything we don't bill for ourselves.
- $We reserve the right to decline if your workload genuinely can't run on Rivestack, and we'll tell you why honestly. So far the disqualifiers we've seen are: needs >1 TB single-node storage, needs Postgres extensions we don't support, or needs a region we don't operate in (we're in EU, US-East and Singapore today).
# send the invoice
// One email. Attach your last invoice. We reply within 24 hours from a human.
- 1Click the button. Your mail client opens with a draft to hello@rivestack.io.
- 2Attach a PDF or screenshot of your last Supabase / Neon / Vercel Postgres / RDS invoice. Redact whatever you want.
- 3Hit send. We'll reply within 24 hours with a scoping doc and a proposed cutover window.
// Mail client doesn't open? Just send a fresh email to hello@rivestack.io.
# faq
We roll back to your source database. It stays live and untouched the entire time, exactly so we can do this. You've spent $0. We'll write you an honest postmortem of what went wrong; sometimes the answer is "your workload is a bad fit for us" and we'll say so.
Usually under 60 seconds of write downtime. Read traffic keeps flowing through the replica. Those 60 seconds are the time it takes for connection strings or DNS to propagate and for in-flight transactions to drain.
We rebuild HNSW and IVFFlat indexes on the destination during replication, before cutover. They're often faster on Rivestack than on the source, because the index lives on local NVMe instead of network-attached SSD, which is what HNSW graph traversal cares about. Your m, ef_construction, and lists parameters are preserved unless you ask us to retune them.
In progress, not yet certified. We don't want to claim a badge we haven't earned. Our current security posture, sub-processors, and incident history live on our status and trust page (link coming, ask us for the doc in the meantime).
You pay our normal pricing. See the table above. No tier hike, no surprise lock-in, no annual contract. You can pg_dump and leave any time. We even keep your replication slot open for 30 days after cancellation so you can replicate out the same way you replicated in.
Because at scale, a free weekend of migration work per customer is uneconomic. We're two people. We'd rather earn ten paying customers by doing the work ourselves than spend the same dollars on ads to acquire one. The math stops working when we get bigger, and by then we'll have learned a lot from doing this.
$ two of us. one weekend. your migration, done.
// Limited to the first 25 teams. Honest reason: we can't do more than that ourselves.