How we manage feature flags at Basedash

December 16, 2021

Tom Johnson
Product Designer

Managing feature flags

There are a lot of ways to manage feature flags in products, but at Basedash, one of the easiest ways to manage them is to, well, just use Basedash.

Here's how we set that up:

an image of how we use feature flags at basedash
Our feature flag database at Basedash

We have a table in our database called FeatureFlag which lists all the current features that are actively in development. Usually it's just a list of 3 or 4, since these don't stay as feature flags for very long.

To add them to a user, we then have a separate database table called UserFeatureFlag. This one allows us to associate users with the feature we're testing.

Usually, those users are our own product team. We assign ourselves to feature flags for QA, feedback, and to generate some more ideas before it hits prod.

We also add external users that we think might benefit from the feature, or who have opted into being beta testers.

Here's what that table looks like:

a basedash view of user feature flags
User feature flag view

Feature flagging

And finally, here's the whole flow for adding a user to a feature flag:

I just go to the table, create a new record, choose which feature flag I want to enable, and then select the correct user (in this case myself). Couldn't be easier!

Feature flags as an internal workflow

Using product feature flags like this has had a huge impact on how we roll out new features. We've used it to catch performance issues, UI bugs, app crashes, and just get a better feel for how things will work before customers see them. We also ask users if they want to opt-in or not, and if they run into issues, can easily remove them from the beta without affecting their workflow. We try to keep out releases as small as possible, so most every feature we're making is released as a feature flag first.

For now, the workflow is pretty basic. We don't have a great need for complex feature testing, staged roll-outs, in-product A/B testing, but as Basedash (the company) grows and our needs change, Basedash (the product) will stay up-to-date. It removes the need for a separate tool to manage feature flags and helps us build a better product.

What is Basedash?

Ship your product faster.
Worry about internal tools less.

No credit card required.