2
2 Comments

How are gating & grandfathering features in your SaaS?

Hey, my way of gating features for Upscribe has been to add internal ID’s to each Stripe plan that I then use to gate certain features in the code. Then when I change features up for a certain plan I will do something like “if user has internal ID X and registered before date Y then allow access to feature”.

The problem with this is I’m adding a ton of logic to the app and it’s hard to override when I want to give certain users extra access. Plus if I ever have customer service reps there is no way for them to make a quick change to a user’s access; they need to talk to a developer and get a deploy out just to, say, increase some account limit or allow access to one certain feature.

How are you handling this? Would appreciate some ideas!

on September 4, 2019
  1. 1

    Hello Joshua!

    I would recommend making this completely independent of the Stripe plan.

    I ran into a similar issue in my own SaaS, and I implemented a free-form field (in our case, a JSON object with each permission as a key) to the user model. Then, either roll your own feature toggle logic or use one of the many services like https://launchdarkly.com/ to configure/differentiate your logic.

    That will be the quickest way, and it's a good abstraction, as the plan ID and the feature list are not necessarily overlapping, as you seem to be describing.

    1. 2

      Awesome! Really appreciate the detail here. I'd heard of LaunchDarkly but had no idea what it did; good to know!

      Thanks!

Trending on Indie Hackers
Your build-in-public audience is not your market. I learned the difference the slow way. User Avatar 197 comments I built a WhatsApp AI bot for doctors in Peru — launched 3 weeks ago, 0 paying customers, and stuck waiting for Meta to approve my app User Avatar 62 comments Built a "stocks as football cards" thing. 5 days in, my launch tweet got 7 views. What am I missing? User Avatar 33 comments From broke and burned out as a PM, to launching my SaaS and optimizing my health User Avatar 32 comments Why Claude Skills Are Becoming Important for Tech Careers User Avatar 24 comments I kept starting projects and dropping them. So I built a system that wouldn’t let me User Avatar 23 comments