Most founders I know had to scramble to release DeepSeek into their coding platforms. Was a lot of demand for using it and the expectation is that it'd be much cheaper.
I'm curious what you use for a database on Fly.io. When I last looked into it, a proper managed database option was the last thing that they were missing from what I wanted.
I'm not skin in the game on either company but I know that they partnered with Supabase for awhile on this. I'm not sure if that partnership is ongoing or not.
Not first party, but they offer integrations with Neon, Supabase, PlanetScale, and Crunchy Bridge for managed pg.
Their “you’re on your own” option is really nice though for cheap, non-mission-critical stuff, and you can even scale the compute to zero during inactivity and just pay the attached volume costs.
Supabase would be a good pick. Vercel and Cloudflare both do SQL DBs now too, curious how they are. Neon seemed interesting, haven’t heard much about them in a while.
None of those integrated of course, but easier than going big cloud or self hosted
(I work at Vercel) We got rid of this and made it the same price as using Neon directly. We also added a bunch more database options (e.g. Supabase) https://vercel.com/marketplace
This might be a controversial take, but integrating Stripe has never made sense to me.
Theo Browne (@theo on X) summarizes it best: having to sync the state of a subscription with your app and Stripe is super annoying.
Here's a write up on how he does it, which is the best way I've seen so far. It relies on using a Stripe syncing function to update subscription status every time a relevant webhook event comes in from Stripe.
1. User clicks "Subscribe" button on frontend, triggering backend endpoint to generate Stripe checkout
2. Backend creates Stripe customer, stores customerId/userId mapping in database
3. Backend creates checkout session, returns it to frontend
4. User completes payment, gets redirected to /success page
5. /success page triggers backend to sync Stripe data for that customer
6. Backend fetches customerId from database (referred to as key-value/KV store), and syncs latest data from Stripe API using syncStripeDataToKV
7. After sync, frontend redirects user to final destination
8. On all relevant Stripe webhook events, sync again via syncStripeDataToKV
Thoughts? Is this just a skill issue or is Stripe's developer experience actually quite bad?
Absolutely yes! Funnily enough I think Clerk are going to launch a competitive product. We want to focus specifically on billing and keep it OSS for all you guys to go wild with.