featureflag.tech

Fairly priced feature management at scale


FeatureFlagTech is a fully managed feature flag service that is simpler than a self hosted Open Source solution and better value than "enterprise" alternatives.

SIGN UP

Innovate features quickly, simply and safely:

Rich, easy to use control panel

  • Beautiful UI for non technical staff.
  • Write API for programmatic access.
  • Multiple environments.
  • Change log allows you to audit all edits.

Fast, highly available API

  • Battle hardened API. You'll go down before we do!
  • Standard rate limiting with back pressure, typical of cloud services you're already used to.
  • Industry standard secure access protocols.

Pay-as-you-go pricing

  • Pricing based on number of requests rather than number of users.
  • Generous free tier: first 43.8k requests per month are free (avg 1 req per min).
  • Fairly priced tiering: 2.5m requests per month costs $4.50 (avg 1 req per second).

Built for developers

Developers! Developers! Developers!

F2T is built for developers, so it doesn't matter if you're working alone on an idea, in a small team working on a startup or in an established business for a department delivering enterprise solutions. F2T is built with you in mind.

How it works

One of the ways you can use FeatureFlagTech is to launch new features within your code base quickly and easily. Here's how you would do it.

Setup your feature flags

  • Create an account.
  • Create a new project that contains two environments: test and live.
  • Add a boolean feature called "myFeature" to both test and live, but make the value "true" in test and "false" in live.
  • Publish both feature flags, make a note of the published endpoints of each one.

Develop against your feature flags

  • Configure your project so your local and test environments request the test feature flag, and your live environment requests the live feature flag.
  • Develop a new feature, conditionally load it based on the value in the feature flag called "myFeature".
  • Deploy the code to live, where the live feature flag stops it from appearing.
  • Carry on developing your new feature directly on trunk.

Launch your new feature

  • Switch the live flag to "true", watch your feature immediately become available to your users without redeploying any code.
  • Problem with the new feature? Immediately disable it by switching the live flag back to "false".

Pricing

Free $4.50 per month Contact us
Requests per month Up to 43,800
(avg 1 req per minute)
Up to 2,592,000
(avg 1 req per second)
Over 2,592,000
(avg 1 req per second)
Number of flags Unlimited * Unlimited * Unlimited
Projects Unlimited Unlimited Unlimited
Environments per project Unlimited Unlimited Unlimited
User accounts Unlimited Unlimited Unlimited
Audit log

* Total flag file size cannot exceed 10Kb.

Sign up for early alpha access

FeatureFlagTech will be ready soon. Sign up now to get access first:

We'll never share your email with anyone else.

About us

We are a privately owned business based in the UK with a joint experience of 20 years building software. We're a young company that believes that all dev teams should have the ability to quickly and efficiently to take advantage of feature flags when building software.

Our focus is on providing a first class feature flag service at the best possible price. A rich, easy to use control panel that provides unlimited usage combined with a first class fast and reliable API available over HTTP.

Our highest priority is performance and reliability. As we are based on AWS cloud infrastructure, we can provide the highest level of reliability all around the globe.

We are Alex Maslen (head of product) and Tom Maslen (head of software engineering). Alex is a trilingualist (fluent Spanish, French and English) with a masters degree in European business. She has a wealth of experience working in sales, marketing and exports roles. Tom has been programming since childhood, has lead many cloud based programming teams creating high profile online experiences and is a keen advocate of building performant software.

What are feature flags?

Feature flags, feature toggles, feature switches, feature flippers: this idea goes by quite a few names.

What we mean by feature flags is a technique that allows you to change how your software behaves without updating any code. By deploying a file containing all your feature flags seperately from your main codebase, you can use it to quickly alter the features in your program.

Ways of using feature flags

At its most basic level a feature flag will provide your code with a boolean value to branch logic off of. Want to try a new version of an algorithm? Use a boolean feature flag to let your code decide whether to use the new or old version. You can then switch between these by updating the value of the flag.

You can also use a feature flag for fine control of a value. Want to be able to quickly change the distance of a floating element from the top of a webpage? Then using a feature flag to hold that value will enable you to quickly adjust that position without a code redeploy.

Feature flags also enable you to work on new features of your software without having to create branches in your code repo. By wrapping the bit of your code in a feature flag - turned off by default - you can work directly on the master branch, commiting when you're ready to (safe in the knowledge that your unfinished feature won't be seen in production). No more mega branches, no more merge conflict hell. Instead of doing a big scary commit you simply switch the feature flag. If you find an issue with the new feature, quickly disable it by switching the feature flag again.

Dynamic feature flags

The examples above all involve a feature flag that changes when you want it to. It's essentially just a file that you edit. This is referred to as a static feature flag.

There is a more powerful type of feature flag called a dynamic feature flag. Dynamic feature flags will change the value based on who your end user is. This enables you to do much more powerful things, like A/B testing or personalising the service based on individual, or cohorts of users.

Dynamic feature flags need to be hosted by a service rather than just a static file. They won't provide you with everything you need to do A/B testing (you still need to collect and report on the metrics), but a dynamic feature flag service will provide you with the hardest part of A/B testing: determistically and randomly splitting users into groups.

A dynamic feature flag needs the following parameters:

As long as your user definitely has a unique ID (for example, create a cookie on a user's browser - cookie IDs are UUIDs) then you can hash that value and turn it into a percentage. The percentage can then be grouped depending on whether it is higher or lower than 50. You can think of this service as acting like a deterministic algorithm.

The feature will now randomly return one of the two values to your code. This does mean that the service you provide can't sit behind any kind of public caching, as you will want each user to get a different response based on their unique ID.

Certain feature flag services will even let you choose values for each flag dependant on certain cohorts the user is in: the country they are in, values assigned to their unique ID. This is where a feature flag service starts to blend into CRM territory.

Feature flags are advantageous

Hopefully we've managed to convey just how powerful feature flags are. Recently (January, 2018) Mark Zuckerberg said this about Facebook:

"Already last quarter, we made changes to show fewer viral videos to make sure people's time is well spent. In total, we made changes that reduced time spent on Facebook by roughly 50 million hours every day."

Facebook did this just by combining feature flags with data science. There would have been no changes to features, the UX or the front end. Just the use of constant iteration by changing a flag value, measuring the result, and feeding that back into the product.

For more information on feature flags, we recommend "Feature Toggles" by the respected Martin Fowler (Chief Scientist at ThoughtWorks).