1
0 Comments

Why I stopped trusting my own Database for subscriptions. 💸

I spent today rewriting the core monetization logic for Criene.

Originally, my flow was:

  1. User pays via App Store.

  2. Store sends Webhook to my Server.

  3. Server updates DB.

  4. App queries DB -> "Okay, you are Pro."

The Problem: Webhook latency. In testing, I realized there’s a gap. If the webhook takes even 5 seconds to fire (which happens), the user pays but sees a locked screen. That creates panic and bad reviews.

The Fix: I ripped out the DB check and integrated the RevenueCat SDK to handle the "Source of Truth" on the client side.

  • Now, the app asks RevenueCat: "Does this user have an active entitlement?"

  • It unlocks instantly.

  • My database syncs quietly in the background later.

The unexpected pain: The rest of the day vanished into the black hole known as the Google Play Console. Screenshots, privacy policies, tax forms... it never ends.

The code is fun. The admin work is the real killer.

#revenuecat #saas #monetization #buildinpublic


posted toAvatar for product CRIENE
CRIENE