BBansalMarketplace
All tools
๐ŸŽ›๏ธ
๐ŸŽ›๏ธ

Flagly

Live

Platform

Toggle features in your app from a dashboard โ€” no code changes, no redeploy.

What is it

Flagly is a feature-flag platform that decouples deployment from release. Ship code behind a flag whenever it's ready, then flip a toggle in the dashboard to release it to users โ€” your app picks up the change within about 10 seconds, instantly on tab refocus. No redeploy, no coordinated rollout, no rollback anxiety.

Two npm packages cover every stack. flipgate is the React adapter: wrap your root in FlaglyProvider, then read flags anywhere with useFeatureFlag or FeatureFlagGate. flipgate-core is the framework-agnostic engine underneath โ€” use it directly in Node.js, Vue, Svelte, or edge functions via createFlagClient, which exposes subscribe (reactive), getFlag (synchronous single-flag read), getFlags (all flags), and destroy (cleanup on exit or unmount). For one-off checks with no install at all, a plain fetch against the flags API works too.

Why you need it

  • Release at midnight without anyone on call: toggle on. Something wrong in production: toggle off. No redeploy needed either way.
  • Every feature can go out dark โ€” you decide when the world sees it, not your CI pipeline.
  • This is how continuous deployment actually works in practice: deployment and release become separate decisions.
  • Drop-in for React, or zero-dependency core for anything else that runs JavaScript โ€” Node, Vue, Svelte, Cloudflare Workers, Vercel Edge, Deno, or plain fetch.

User guide โ€” quickstart

  1. 1

    Create a project and get an API key

    Open the Flagly platform, sign up, and create a project. Copy the generated API key โ€” it looks like flg_โ€ฆ and identifies your project to the SDK.

  2. 2

    React: install and wrap your app

    Install flipgate, then mount FlaglyProvider near the root of your React app (Next.js layout, Remix root, Vite App.tsx, etc.). Pass your API key โ€” it fetches flags immediately and keeps them fresh in the background.

    npm install flipgate
    
    // app/layout.tsx (Next.js example)
    import { FlaglyProvider } from 'flipgate';
    export default function RootLayout({ children }) {
      return (
        <html><body>
          <FlaglyProvider apiKey="flg_your_api_key">{children}</FlaglyProvider>
        </body></html>
      );
    }
  3. 3

    React: gate a feature in code

    Read a flag with the hook for conditional logic, or wrap UI in the gate component with a fallback for the off state. The hook returns an object โ€” always destructure it.

    // Hook (for logic)
    const { enabled, loading } = useFeatureFlag('my-flag');
    
    // Gate component (for UI)
    <FeatureFlagGate flagKey="my-flag" fallback={<OldUI />}>
      <NewUI />
    </FeatureFlagGate>
  4. 4

    Node.js / non-React: use flipgate-core

    Install flipgate-core and call createFlagClient with your API key. Subscribe for reactive updates, or read synchronously with getFlag / getFlags. Always call destroy() when done โ€” in a process exit handler, component unmount, or cleanup function.

    npm install flipgate-core
    
    import { createFlagClient } from 'flipgate-core';
    
    const client = createFlagClient({ apiKey: 'flg_your_api_key' });
    
    // Reactive: called after each successful fetch
    client.subscribe((flags) => {
      if (flags['maintenance-mode']) console.log('Maintenance mode ON');
    });
    
    // Synchronous read
    const isEnabled = client.getFlag('my-flag'); // boolean
    
    // Cleanup on exit
    process.on('exit', () => client.destroy());
  5. 5

    No install: plain fetch

    For a one-off check with no package at all, call the flags API directly with your API key in the x-api-key header.

    const res = await fetch('https://flagly-platform.vercel.app/api/flags', {
      headers: { 'x-api-key': 'flg_your_api_key' },
    });
    const { flags } = await res.json();
    if (flags['my-flag']) { /* feature is on */ }
  6. 6

    Toggle from the dashboard

    Flip the flag on the Flagly platform. Your app reflects the change within ~10 seconds (instantly when the tab regains focus). No redeploy, no code change.

Under the hood

Next.js 14 App RouterSupabase (DB + Auth)TurborepoTailwind v4Vercel

Works with: React (flipgate) ยท Node.js, Vue, Svelte, edge functions (flipgate-core) ยท plain fetch (no install)

Ready to try Flagly?