Skip to main content

Introduction to Unrevealed

Unrevealed is a workflow based feature management solution that makes developing, testing and releasing features a smooth ride. We're taking a whole new approach to feature flags, and strive to give you the best developer experience possible in the process.

Why another tool?

There are tons of feature flag solutions out there. Some simpler than others, some open source, some completely home made... But whatever you've seen before only provides feature flags as an abstract concept, making it your responsibility to configure them well enough for your use case.

Unrevealed takes the opposite approach by solving concrete problems, like doing QA or running a private beta. And because Unrevealed is based on a 100% customizable worflow, you don't lose any of the flexibility.

Workflow based approach

In Unrevealed, you manage your features in a release board. Each feature goes through stages which dictate what rules can and cannot affect their state. Let's illustrate with an example:

All features by stage
Features go through stages you can customize

In the figure above, we've configured our workflow to have 5 different stages (see Workflow to learn how to configure your stages). Each stage dictates which rules are applied or customizable on the features that are currently in it. For example, Feature A is currently in the Released stage, which means it's enabled to every user in every environment. In this case, the only information you need to understand how this feature behaves is the stage itself.

Workflow feature is released
Workflow feature is released

Code Generation, on the other hand, is in the Beta stage. In Beta, every feature is enabled all the time in staging and development, and you can specify which companies can access it in production. Notice that this feature is also enabled to the Unrevealed team at the stage-level. This is designed to reduce the mental load, so you don't have to worry about things that are irrelevant (in this case, the rules that affect a feature in staging and development while it's in beta).

Feature B is in beta
Code generation is in beta

Moving a feature from one stage to another affects rules in every environment at the same time. For example, you can turn off a feature completely by moving it to the Killed stage.

Moving a feature to the Killed stage disables it in every environment
Moving a feature to the Killed stage disables it in every environment

At this point, you should have a basic understanding of what Unrevealed does differently. We've also shipped stuff that makes it a lot easier for you to work with features in your code, like the code generator or the VS Code extension.

Feel free to jump into any part of the docs. If you have any questions, don't hesitate to send us an email at [email protected].