> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flagsync.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Learn about FlagSync’s client-side SDKs for web and mobile apps.

## Overview

FlagSync’s client-side SDKs are designed for single-user contexts like web and mobile apps:

<CardGroup cols={2}>
  <Card href="/sdks-client-side/javascript" title="JavaScript">
    <img alt="User segment targeting rule creation" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/sdk-js.png?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=daa64900605e8bbea8e4ff613f918cda" className="h-12 my-4" width="70" height="70" data-path="images/sdk-js.png" />

    For browser-based apps (e.g., SPAs, vanilla JS).
  </Card>

  <Card href="/sdks-client-side/react" title="React">
    <img alt="User segment targeting rule creation" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/sdk-react.svg?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=db45fc5beb938fa050cec497c785fe97" className="h-12 my-4" width="80" height="71" data-path="images/sdk-react.svg" />

    For React-based web applications.
  </Card>
</CardGroup>

<Tip>
  Need another language or framework? Contact <a href="mailto:support@flagsync.com">FlagSync Support</a> to explore adding it to our roadmap.
</Tip>

## Avoid Flickering During SDK Initialization

When using feature flags in web applications, rendering a page with default flag values before the SDK initializes can cause a "flicker" as content updates. To prevent this, consider these strategies:

* **Initialize Early**: Prioritize the SDK initialize to evaluate flags sooner, minimizing delays.
* **Delay Rendering**: Hide the page (e.g., set body to `display: none`, or use the `waitForReady` prop in the React SDK) until the SDK signals readiness, then show the correct content.
  <Info>
    SDK initialization time, usually 30-50 milliseconds, depends on flag count and ruleset complexity.
  </Info>
* **Bootstrap Flags**: Provide initial flag values for immediate use, avoiding fetch delays.
  <Tip>
    See [Bootstrapping](/sdks-client-side/javascript#bootstrapping) for details on providing initial flag values.
  </Tip>

## Next Steps

Get started with client-side SDKs:

* Learn about server-side SDKs in [Server-Side SDKs](/sdks-server-side/overview).
* Set up an SDK in [Setup](/sdks/setup).
* Start with [Quickstart: SDK](/quickstarts/sdk).
