7 ms·
Launch HN: DevCycle (YC W14) – a feature flag platform built for developers
Hi HN, Cobi here, Co-Founder of DevCycle (https://devcycle.com 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 https://devcycle.com
Here’s a general platform demo video if you’re interested: https://www.youtube.com/watch?v=bZD-pyKGwR4 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!
- jedberg 3y agoHow do you differ from LaunchDarkly?
- cdrux 3y agoHey, thanks for the question. The primary differences stem from a difference in focus. We believe that LaunchDarkly is a great first-mover in the space and has done well in their validation of the space. Their focus has traditionally been on the enterprise, which manifests itself in a product focus on things that large enterprises require, like tooling around governance. For DevCycle we believe feature flagging is about more than just enterprise risk management, and is actually more deeply related to the way in which teams build and ship code together. As such, our focus is on the developer experience and mapping our product more closely to how developers actually work. This manifests itself in a few key areas: 1. We believe that all of the interfaces that engineers interact with need to be delightful including SDKs, APIs, CLIs, docs, etc. 2. We've built DevCycle from the ground up to better match to a concept of building features, with coordinated releases vs distinct and disparate feature flags. What this means is that we natively bundle feature flags within the concept of a feature, so that a feature and all of its component flags can be rolled out in coordination without the need for workflow automations. 3. It should be as easy to remove our flags as it is to create them, to reduce the cognitive load and complexity of feature flagging over time. 4. All aspects of the platform from the way its built, to the way it is priced (seat based pricing vs usage based pricing) should make it as easy as possible to have all engineers on a team be able to work together on feature flags, as opposed to creating friction and complexity that reduces the number of people that interact with flags on a daily basis. I hope that helps, if I can clarify further let me know.
- VicVee 3y agoHey I'm one of the product folk here at DevCycle. I have a feeling someone else is going to respond with some other points so I wanted to touch on something particular: From my view, I just personally think most folks should be using feature flags and a continuous deployment cycle in general. With that in mind, a lot of what we built was to make it more accessible. We focused on an easier to understand UX, and building tools that were easy to interact with. But most importantly in that line of thinking, and a major differentiator in my eyes, we tried to make as much of our platform un-gated as possible. So all of our features are available to anyone regardless of their plan (outside of anything that requires a custom setup or something truly enterprisey). This means that all of our integrations are freely available too.