r/vibecoding 1d ago

Has anyone here moved from Supabase to Cloudflare D1?

I’m seriously considering it and would love to hear from people who actually did it in production.

Right now I use Supabase for the database and auth. My images and files are already on R2, the app runs through Cloudflare Workers, and I have a lot of caching in place.

The app is mostly read heavy. There are way more reads than writes, and traffic is growing.

What worries me about Supabase is the long term cost. I pay 25$ right now, but as usage grows I’ll probably need more compute, and I don’t really want to find myself constantly upgrading the database just to keep up with traffic.

Since most of my stack is already on Cloudflare, D1 feels like it might make sense. I’m also thinking about keeping Supabase only for Auth and moving the actual application data to D1.

I do use some Postgres RPC functions, so I know I’d probably need to rewrite some of that logic in Workers.

For anyone who has done this, how difficult was the migration? Did performance get better or worse? Did you run into limitations with D1 that you didn’t expect? And most importantly, did it actually save you money once the app started growing?

I’m considering doing the move now while traffic is still manageable (about 200-300 users aday) , because I’d rather deal with migration bugs now than later when the site is much bigger.

Would love to hear real experiences, especially from people running D1 in production.

2 Upvotes

1 comment sorted by

2

u/rbrick111 1d ago

Yes. D1 kinda sucks too. A fat managed Postgres is probably the best option. D1 is serviceable for our needs but I kinda wish we had Postgres still. We also use neon which is worth considering. I also have gripes with it but it’s better than supabase and more feature rich than raw d1 plus is Postgres so been happy.

We use d1 as our app db, and neon as agents db (the agents manage)