
## What is a dynamic config

Dynamic configs replace hard-coded values in your application with JSON defined on the server. Use Dynamic Configs to avoid hard-coding configuration values in your code and change them dynamically in near real-time. You can also *target* Dynamic Configs, providing different experiences based on user attributes. These configuration parameters can include any property across your client-side or server-side application code, from button colors to ranking configurations.

## When to use a dynamic config

Many technology companies use tools such as dynamic config to make their server-side code the source of truth for configurable application properties. For example, Spotify uses [Remote Configuration](https://engineering.atspotify.com/2020/10/29/spotifys-new-experimentation-platform-part-1/) to dynamically update properties of their clients or backend services.

### Use cases

* **Feature toggles**: Dynamically enable or disable features without code changes.
* **Gradual rollouts**: Vary configurations across user segments to roll out more safely.
* **Real-time updates**: Instantly adjust app properties like UI elements or service thresholds.

### Limitations

* Dynamic configs have a 100kb limit on the JSON payload.

## Get started with dynamic config

* To get started, follow the guide on creating your [first dynamic config](/guides/first-dynamic-config).
* For more detail on working with dynamic config, refer to the tutorial on [working with dynamic config](/dynamic-config/working-with).
