Replane Documentation
Replane is a dynamic configuration platform that lets you change application settings in realtime without deploying code. Use it for feature flags, operational tuning, A/B testing, and cross-service configuration.
Get started
☁️ Try Replane Cloud
Start instantly with our managed service. Free tier available.
Quickstart
Get started with cloud or self-hosted in under 5 minutes.
Core Concepts
Learn about workspaces, projects, configs, and override rules.
JavaScript SDK
Integrate Replane into Node.js, browsers, Deno, or Bun.
What you can build
| Use case | Description |
|---|---|
| Feature flags | Toggle features on or off without deploying code |
| Gradual rollouts | Roll out features to a percentage of users |
| A/B testing | Serve different values to different user segments |
| Operational tuning | Adjust rate limits, timeouts, and batch sizes in realtime |
| Kill switches | Instantly disable features during incidents |
| Cross-service config | Share settings across multiple services |
How it works
╭───────────────╮
│ PostgreSQL │
╰───────┬───────╯
│
┌─────────────────────────┼─────────────────────────┐
│ │ │
▼ ▼ ▼
╭─────────────────╮ ╭─────────────────╮ ╭─────────────────╮
│ Replane │ │ Replane │ │ Replane │
│ US East │ │ EU West │ │ AP South │
│ ············· │ │ ············· │ │ ············· │
│ config cache │ │ config cache │ │ config cache │
╰────────┬────────╯ ╰────────┬────────╯ ╰────────┬────────╯
│ │ │
│ SSE │ SSE │ SSE
▼ ▼ ▼
╭─────────────────╮ ╭─────────────────╮ ╭─────────────────╮
│ Your App │ │ Your App │ │ Your App │
│ ············· │ │ ············· │ │ ············· │
│ local cache │ │ local cache │ │ local cache │
╰─────────────────╯ ╰─────────────────╯ ╰─────────────────╯
- Create configs in the Replane dashboard — changes are stored in PostgreSQL
- Edge servers pull and cache configs locally for fast reads
- SDKs connect to the nearest edge and cache configs in memory
- Reads are instant —
replane.get()returns from local cache, no network call - Updates stream in realtime via SSE, keeping all caches in sync
High availability — Each Replane node operates independently with its own cache. As long as at least one node is running, your clients will receive configs. If a node goes down, SDKs automatically reconnect to another.
Replane Cloud runs edge servers in multiple regions worldwide. Your SDK automatically connects to the nearest one for sub-50ms initial load, then all reads are instant from local cache.
Key features
- Realtime updates — Changes propagate instantly via SSE, no polling required
- Override rules — Return different values based on user ID, plan, region, or any context property
- Version history — Every change creates an immutable snapshot with full audit trail
- Instant rollback — Revert to any previous version with one click
- JSON Schema validation — Prevent invalid configurations before they're saved
- Type-safe SDK — Full TypeScript support with automatic type inference
- Cloud or self-hosted — Use our managed cloud or run on your own infrastructure
Example
import { Replane } from '@replanejs/sdk';
const replane = new Replane();
await replane.connect({
sdkKey: process.env.REPLANE_SDK_KEY!,
baseUrl: 'https://cloud.replane.dev', // or your self-hosted URL
});
// Get a feature flag
const showNewUI = replane.get('new-ui-enabled');
// Get a value with user context for override evaluation
const rateLimit = replane.get('api-rate-limit', {
context: { userId: user.id, plan: user.plan }
});
// Subscribe to realtime updates
replane.subscribe('new-ui-enabled', (config) => {
console.log('Feature flag changed:', config.value);
});
Next steps
- Follow the Quickstart to deploy Replane
- Read Core Concepts to understand the data model
- Explore Guides for common use cases