Show HN: FFlags – Feature flags as code, served from the edge

fflags.com

39 points by tushr 2 days ago

Hi HN,

I'm the creator of FFlags. I built this because I wanted a feature flagging system that gave me the performance and reliability of an enterprise-scale solution without the months of dev time or the vendor lock-in.

The core ideas are:

1. Feature Flags as Code: You define your flag logic in TypeScript. This lets you write complex rules, which felt more natural as a developer myself than using a complex UI for logic.

2. Open Standard: The platform is built on the OpenFeature standard (specifically the Remote Evaluation Protocol). The goal is to avoid vendor lock-in and the usual enterprise slop. You're not tied to my platform if you want to move.

3. Performance: It uses an edge network to serve the flags, which keeps the wall-time latency low (sub-25ms) for globally distributed applications.

I was trying to avoid the heavy cost and complexity of existing enterprise tools while still getting better performance than a simple self-hosted solution.

There's a generous free tier ($39 per million requests after that, with no flag/user limits). I'm looking for feedback on the developer experience, the "flags-as-code" approach, and any technical questions you might have.

Thanks for taking a look.

shiandow 21 hours ago

This product is probably not intended for me but at this stage I'm not even sure I know what a feature flag is any more.

I thought feature flags were just toggles so you could turn features on and off. I wouldn't know how to implement those as anything other than code. Or why you would need an external service.

What problem is this solving?

  • ricardobeat 20 hours ago

    Writing your own logic to handle flags is trivial at first, especially if you're running a monolithic app, but quickly grows in complexity:

    - distributing flags to multiple services

    - broadcasting updates

    - caching rules

    - audit logs

    - product, not eng, will start managing the flags at some point and needs easy access

    - custom logic for gradual rollouts, A/B testing

    - custom attributes support (used in evaluation)

    - managing multi-variant flags

    - supporting multiple platforms (backend, frontend, native apps, services, jobs) and evaluation strategies (eager server-side evaluation vs shipping a client-side engine)

    There are quite a few open-source options like Growthbook, Flagsmith, go-feature-flag, and Unleash that you can check out for comparison.

    • tantalor 18 hours ago

      > product, not eng, will start managing the flags at some point and needs easy access

      How to tell you have a broken engineering culture.

      • Sayrus 18 hours ago

        Some flags are meant to be enabled for specific customers, on-demand, depending on what type of contract is signed, under NDA and so on. Over time, many department that aren't "engineering" need to be able to change some flags. That doesn't imply your culture is broken.

        • ccakes 17 hours ago

          I think most would say that’s configuration, not feature flags. The differences can be subtle but I at least don’t think they’re the same thing

        • ecshafer 17 hours ago

          That seems like code which should check customer account information, not a feature flag thats turned on or off.

          • Sayrus 14 hours ago

            Activating only for beta users or opted-in users is a supported use-case on OpenFeature using the dynamic context (https://openfeature.dev/specification/glossary#dynamic-conte...).

            If your goal is to end up with the flag enabled on all requests, the only difference is the rollout strategy. You can prioritize accounts, manually enable things with one customer that you know likes to test your alpha features, and so on.

    • boxed 17 hours ago

      Sounds like most of those problems are just problems with microservices generally. Adding a service makes this worse.

    • tushr 16 hours ago

      > product, not eng, will start managing the flags at some point and needs easy access

      That's the typical pattern and why most tools focus on non-technical UIs. FFlags targets a different niche. Teams where developers want to maintain control over flag logic.

    • aitchnyu 15 hours ago

      Do we need a feature flag-aaS if we have a monolith and easy way to add columns to user table?

  • SSchick 21 hours ago

    A lot of "engineers" nowadays don't know the concept of per-user/customers configs and how to build/expose them to non-technical staff.

    The main appeal of feature flags is simplicity and being a low-hanging way to apply per-customer/user configuration, few platforms allow true a/b testing (amplitude comes to mind but I'm sure there are more).

    • mcapodici 20 hours ago

      Feature flag can (usually does??) have another meaning, as a technical feature rollout mechanism, so you can roll back quickly without a deployment. A way to manage risk on teams that make hundreds of commits/deploys a week. You can then often send a certain % of traffic through the feature or not to look for early warnings.

      I don't like feature flags for config. Just build a config system into the product UI - a settings page basically! That might have some bits you configure as the site owner, and some that are self-service.

    • jofzar 18 hours ago

      Statsig and launchdarkly are the one that come to mind for me.

  • tushr 16 hours ago

    You are right, feature flags are just toggles but the devil is in the details. When the product scales you would want to test things internally or with a close group of people on prod before you make it public (beta releases). Sometimes you would want to release features at a specific time (Apple, Figma product launches). Sometimes you would want to test if A is working better than B (A/B testing typically in eCommerce sites). Sometimes features are location-specific (Different content for different countries, netflix does this). Let's consider a scenario: You have a team of 10 engineers working on 5 different features. They merge their feature branches to a main branch which gets deployed at the end of the release cycle. Now, if one of those features isn't working as expected, the engineers will have to roll back to the last deployment which won't have any of the 5 features. With feature flags, this could be avoided by developing all features behind a feature flag.

  • ralferoo 21 hours ago

    Likewise, while the idea of sticking the determination of whether a given feature is enabled or not in a REST service would make sense, it's not at all clear why you'd ever want to farm that out to another provider, apart from the rare case when you're making a static website with no backend at all.

    If you have any kind of back-end infrastructure, it'd seem trivial to implement this yourself. Doing it yourself also allows you to make the feature flags more controlled, e.g. by some flag associated with the current user such as opting into experimental features.

    For efficiency, I'd also want to batch a bunch of such flags together, so e.g. when a use logs in they get a list of enabled features that gets cached locally, rather than having to query each and every one via REST.

    So I'd echo the question, what problem is this solving?

  • BrandoElFollito 21 hours ago

    I had the same question after quickly reading the docs.

    I am probably not directly an intended user but I sure would be glad to understand what this is (as an amateur dev)

    • tushr 11 hours ago

      You can checkout my reply to the same comment. I have explained it in terms which is easy understand for everyone.

miggy 16 hours ago

One of the key aspects of feature flag systems is enabling A/B analysis, measuring the impact of features on metrics like click-through rate, session duration, and revenue. This doesn’t seem to be mentioned in the highlights. Is the product targeting these kinds of insights?

  • tushr 16 hours ago

    These features are in pipeline. It is currently targeting the developers to help them with rollbacks and release management.

ricardobayes 19 hours ago

Why does this need to be a dependency? In my view feature flags are core enough not to be outsourced to a third party. Although, there are companies using libraries for "isEven" so there might be a market for it.

  • tushr 18 hours ago

    That's a fair point! Basic feature flags are just toggles, true and false. But they quickly become complex as you onboard new customers and scale. You need percentage rollouts to make sure things are working before everyone starts using the features. It only makes sense for engineers to spend time building actual features and testing them in production rather than spending bandwidth on building a feature flag management tool or managing the service for the same. This is a typical build vs buy debate. :D

  • killerstorm 17 hours ago

    I thought it's satire. Like "/dev/null as a service".

hermanschaaf 20 hours ago

Love the simple landing page! How big is the free tier? The pricing slider seems to show that you pay $39 for anything more than 0 requests.

  • tushr 18 hours ago

    Aah! That's a miss from my end. I had it on my previous landing page. It is 100k requests a month. But, I am not adding any cap right now. I monitor the system all the time so if it goes above the free tier limit significantly I will notify.

baduiux 20 hours ago

Cool product and great landing page. This is quite off topic: how did you make the code animation in the Feature Flag as Code section? I reminded me of prezi.com (with their slide animations). Would love to know!

swatimodi 2 days ago

Love that it is build on open standards, i hate vendor lockins. Will pitch this at my org with a POC :)

  • tushr 2 days ago

    That was the main pain-point I faced in the orgs I have worked with. When I came to know about the OpenFeature I was instantly gravitated towards building this on open standards.

srijanshukla18 2 days ago

Great product! Actually a big point that I've seen in enterprises.

  • tushr 2 days ago

    Thank-you! Do let me know how was your experience if you to use it.