Hi HN, Cobi here, Co-Founder of DevCycle (
https://devcycle.com). DevCycle is a feature flag platform focused on developer experience, speed of delivery and long-term maintainability.
To give the platform a shot, anyone can sign up and use DevCycle for free here: https://devcycle.com
Here’s a general platform demo video if you’re interested: https://www.youtube.com/watch?v=bZD-pyKGwR4
Feature flagging is a technique that lets developers switch features on or off in a software application without redeploying it, enhancing testing and rollback capabilities. At their core, feature flagging platforms solve the problem of separating production code deploys from feature releases to users. While DevCycle solves that same general pain, we also aim to solve core problems in developer experience and code maintainability that hold developers back from fully adopting feature flagging into their workflow.
In traditional feature flagging platforms, extended flag usage increases code complexity over time. Most engineers with feature flagging experience are worried about the build-up of stale flags and their code being filled with unnecessary conditionals. Dealing with this problem is important because if an engineer is worried about this increasing complexity, they are likely to avoid using feature flags.
We came upon this problem when we were building Taplytics, the startup we joined YC with. We experienced it not only from our own struggles with feature flagging and transitioning to continuous deployment but also from our time spent with Taplytics customers who were often on the same journey.
Given this experience, we developed DevCycle with a few core differences in how we solve these problems.
Features, Not Just Flags: Many in-house and competitive feature flag systems operate on the simple idea that features exist in a binary state - they are either ‘ON’ or ‘OFF.’ In reality, software is never this simple. DevCycle treats features the same way you do in every other context, by attaching highly-extensible remote configuration to every feature in your product, allowing multiple flags to be combined under the context of a single feature and configured together.
Developer Experience: To get the benefits of feature flagging you need broad adoption by all developers touching a codebase. Our primary goal is to provide the best developer experience possible. Providing tools and integrations so we can get out of developers’ way. For example, to address the problem of long-running feature flags that build up over time, we offer developer-facing features to easily track, detect (deploy pipeline actions), and eventually remove unnecessary technical debt (CLI code cleanup commands).
Given that we are building this as a developer-first product, we’d love your feedback on whether our approach better fits your workflow and any other thoughts on our solution. Thanks so much!
Looking at DevCycle, it seems you've not taken this approach, is that right? Scanning your docs it seems there's an API to update state, but that fundamentally it's kept in your database, not in code. In my experience this isn't the best dev experience, so as dev experience is your USP, I'm interested in why you think this is a better experience, what benefits it can bring over a "git-ops" style, or what I've missed in your docs.