Using Feature Flags/Gates in your app is simple and straightforward. This article will show you a step-by-step process of creating a simple Node.js app that responds to feature gate changes in almost-real-time.
This article assumes you have npm installed on your dev environment. More detailed documentation is available here.
If you don’t already have an account, create one for free at https://www.statsig.com/ and create a new Feature Gate named “First App Test”
The first step to creating the Node app in your command line terminal is:
$ mkdir statsigNodeApp && cd statsigNodeApp
$ npm init --yes
This will create a package.json file in the statsigNodeApp directory.
Next, let’s install statsig-node SDK.
$ npm install statsig-node
Now, we’re all set to write our main app’s logic. Here’s the code that checks the gate we just created every second and writes out whether it passes or not. Copy and paste this into a file named index.js.
https://medium.com/media/153cc5e35683db3d164c4e419232f32b/href
One last thing is you need to replace the ‘secret-API-KEY’ with your own API key, which you can find in your project’s settings:
With that replaced, you are ready to run this app by issuing this command:
$ node index.js
You will see something like this in the output:
This means that the flag is evaluating to ‘false’ all the time. Let’s go ahead and create a new rule that turns on this feature for everyone.
And let’s make sure to hit that ‘Save Changes’ button.
Now, if we had kept that Node App running, you’ll notice that it has started saying ‘passed’ automatically, since now this feature flag is turned on to everyone.
You can now try turning off this feature in the console.
Which will immediately make the feature fail the check and the app will go from ‘passed’ to ‘failed’ to reflect the change.
Hope this was helpful in getting you started and on your way to creating more complex features! As always we’re here to help out. You can join our Slack community here: https://statsig.com/community.
Find out how we scaled our data platform to handle hundreds of petabytes of data per day, and our specific solutions to the obstacles we've faced while scaling. Read More ⇾
Building a scalable experimentation platform means balancing cost, performance, and flexibility. Here’s how we designed an elastic, efficient, and powerful system. Read More ⇾
The debate between Bayesian and frequentist statistics sounds like a fundamental clash, but it's more about how we talk about uncertainty than the actual decisions we make. Read More ⇾
Here's how we optimized store cloning, cut processing time from 500ms to 2ms, and engineered FastCloneMap for blazing-fast entity updates. Read More ⇾
It's one thing to have a really great and functional product. It's another thing to have a product that feels good to use. Read More ⇾
Stratified sampling enhances A/B tests by reducing variance and improving group balance for more reliable results. Read More ⇾