"Start simple" is the key.
Find the way you need in your application first. If you would start with a provider (or any concrete dependency for that matter), you tend to implement way more than you actually need.
We implemented a simple hard-coded flag provider where you register flags by header/cookie or on by default.
Then a second service that checks the current request if any of the flags are enabled. Simple as that.
What we might change?
We can probably swap out the local provider with one in the cloud, or combine both in a transition.
You don’t need a service provider to do feature flags.
There are many simple ways to toggle a feature:
-Comment out code
-Hide the feature’s link
-Only show it for certain users
-Read an env variable, URL param, or localStorage
-Check a DB table or HTTP endpoint
Start simple.