FeatBit, Open Source Feature Flags Service

FeatBit, Open Source Feature Flags Service

A fast, scalable, and popular feature flag management service built with .NET, ideal for self-hosted solutions. It's designed to facilitate risk mitigation and foster business growth.

Trusted by the innovative teams

Platform for Managing Feature Flags

Ship Code Safely

Mitigate risks with Production Testing, roll out new features to 1% of users initially then expanding, and ensure instant error recovery without redeployment.

Innovate Faster

Targeted Experiences

Born for developers

Ship Code Safely

Mitigate risks with Production Testing, roll out new features to 1% of users initially then expanding, and ensure instant error recovery without redeployment.

Innovate Faster

Decouple feature deployment from release to minimize merge conflicts. Deploy at will, and release any feature immediately upon request from the boss.

Targeted Experiences

Release features to specific target users, and continuously measure and improve the product's business value, while reducing the need for developer involvement.

Born for developers

Use simple if/else statements to control and release features, eliminating complex DevOps tasks. This enables developers to directly drive business value.

Think for developers

We refine tool details, freeing up your energy to better focus on the business.

SDKs

Real-time Update, Offline Mode, Data Collection, Performance Optimization, and much more.

Integration

Open APIs, Triggers, Webhooks, Data Export, Single Sign-On(SSO), and much more.

Reduce Tech Debt

Experimental Feature

C#

JavaScript

Python

Java

Go


using FeatBit.Sdk.Server;
using FeatBit.Sdk.Server.Model;

// Creates a new client instance that connects to FeatBit with the default option.
var client = new FbClient("{featbit env secret}");

// create a user
var user = FbUser.Builder("tester-id").Name("tester").Build();

// evaluate a boolean flag for a given user
var isFeatureAvailable = client.BoolVariation("feature-flag-key", 
                                              user, 
                                              defaultValue: false);

// run new feature if feature flag has a true value
if(isFeatureAvailable){
    runNewFeature();
}

// close the client to ensure that all insights are sent out before the app exits
await client.CloseAsync();
        

SDKs

Real-time Update, Offline Mode, Data Collection, Performance Optimization, and much more.

C#

JavaScript

Python

Java

Go


using FeatBit.Sdk.Server;
using FeatBit.Sdk.Server.Model;

// Creates a new client instance that connects to FeatBit with the default option.
var client = new FbClient("{featbit env secret}");

// create a user
var user = FbUser.Builder("tester-id").Name("tester").Build();

// evaluate a boolean flag for a given user
var isFeatureAvailable = client.BoolVariation("feature-flag-key", 
                                              user, 
                                              defaultValue: false);

// run new feature if feature flag has a true value
if(isFeatureAvailable){
    runNewFeature();
}

// close the client to ensure that all insights are sent out before the app exits
await client.CloseAsync();
        

Integration

Open APIs, Triggers, Webhooks, Data Export, Single Sign-On(SSO), and much more.

Open APIs

Trigger

Webhook


# reading feature flags with open APIs (cURL)

curl -X GET 'http://featbithost:5000/api/v1/envs/[ENVIRONMENT ID]/feature-flags?pageIndex=0&pageSize=10'
-H 'Authorization: EXAMPLE-API-ACCESS-TOKEN'
-H 'Content-Type: application/json'


# success response

{
    "success": true,
    "errors": [],
    "data": {
        "totalCount": 1,
        "items": [
            {
                "id": "e3d78102-8a67-4698-a744-afcb005e8dfa",
                "name": "flag 1",
                "description": "",
                "key": "flag-1",
                "isEnabled": false,
                "variationType": "boolean",
                "variations": [
                    {
                        "id": "838b01b2-d443-4317-b8d3-adb2bed483c0",
                        "value": "true"
                    },
                    {
                        "id": "0c742a83-0053-4f37-8f34-9ef164c17875",
                        "value": "false"
                    }
                ],
                "updatedAt": "2023-03-20T05:44:15.765Z",
                "serves": {
                    "enabledVariations": [
                        "true"
                    ],
                    "disabledVariation": "false"
                },
                "tags": []
            }
        ]
    }
}
        

Reduce Tech Debt

Experimental Feature

GPT-4


# TITLE: 

# Eliminate Dead Feature Flags from Your Code Using Large Language Models

# DESCRIPTION: 

# This is still an experimental feature, so please use it with caution. In our tests, 
# GPT-4 demonstrated a powerful ability to remove dead feature flags and associated 
# code. We see the potential of using GPT-4 to assist developers in removing dead feature
# flags and related code. However, we are currently unable to fine-tune GPT-4, and its 
# input token limitations prevent us from using it in practical applications.

# For more details, please refer to our blog article and GitHub repository.

# Blog article:

https://www.featbit.co/blogs/LLM-Introducing-FeatBit-ChatGPT-Powered-FeatureFlags-Service

# GitHub repo:

https://github.com/featbit/featbit/tree/main/llm

Host in Any Environment

Opt for hosted or self-hosted solutions; FeatBit operates globally, offering seamless information sync and efficient proxy bridging.

Understanding Feature Usage Details

FeatBit tracks feature usage, creates on-demand experimentation reports, and exports data to tools like DataDog, Amplitude for diverse business needs.

Scalable and Great performance

Built on micro-services, FeatBit is designed for both horizontal and vertical scalability. Our meticulously engineered architecture guarantees a high-performance solution.
With single vCPU & 1G memory,
FeatBit effortlessly supports

1.1k

WebSocket CONNECTIONS / SEC

22k

SIMULTANEOUS ONLINE USERS
Seamlessly scale up and out
to accommodate in excess of

50k+

WebSocket CONNECTIONS / SEC

1M+

SIMULTANEOUS ONLINE USERS

.NET Feature Flags, C# Feature Toggle, C# Feature Flags

FeatBit uses .NET (C#) as main programming language for developing a feature flag management system, acknowledging its key role in our technology stack.
.NET (C#) is a highly popular and high-performance framework that can be deployed seamlessly across various operating systems.
Contrary to languages like Rust or Go, .NET provides an extensive range of features that facilitate the quick construction of production-ready systems.

What is Feature Flag Management

Feature flag management involves the systematic control, organization, and implementation of feature flags to enable flexible feature deployment, testing, and rollback in software development.

Feature Management

Feature management is the process of controlling and deploying features in software applications. Feature flags are tools used within this process to enable or disable features without deploying new code, allowing for safer testing and rollouts.

GitHub Feature Flags

Open-source feature flag tools available on GitHub can enable companies to better assess the solution's security. Additionally, companies can continue to develop features to meet requirements not supported by the provider.