Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes
See the code
Quick start · Concepts · Self-hosting & setup · Architecture guide
Superposition is an open source configuration management platform that simplifies and enables safe, reliable configuration for applications.
Superposition helps teams manage configuration and experimentation in a smarter way. Instead of hardcoding values or juggling between messy config files, it lets you define defaults, set contexts/overrides (Rules) for different dimensions (like per-environment, tenant, region, or device), and safely roll out changes through experiments.
Think of it as a system where your configuration is aware of context: the right settings automatically apply to the right situation, with full type safety and controlled rollouts. Feature flags are just one thing you can do with it, not the main idea.
If you want to see it working first, start with the local demo below. If you want to understand the model before you run it, jump straight to the docs or architecture wiki.
The fastest way to try Superposition locally is to run the demo image with a preloaded setup:
docker run -p 8080:8080 ghcr.io/juspay/superposition-demo:latest
Then open http://localhost:8080 and explore the admin interface.
If you want to run the repository itself instead of the demo image:
git clone https://github.com/juspay/superposition.git
cd superposition
# Optional: enter the Nix dev shell if you use Nix
nix develop
# Start local dependencies (Postgres/Redis)
podman compose up -d
# Set up the dev environment and run Superposition
make setup
make run
docker compose up -d only starts local dependencies from docker-compose.yaml; it does not start the Superposition UI/API on :8080. Use make run to launch the server after setup.
If you are not using Nix, follow the dependency installation steps in the setup guide before running make setup.
Need the guided path? Start with the quick start guide or read the setup docs.
Superposition treats configuration like product logic, not scattered environment variables, one-off switch statements, or oversized feature flag trees. Read more about context-aware configuration and experimentation.
Superposition fits anywhere you need configuration to change safely without redeploying application code.
Examples in this repository:
Prefer examples over theory? Browse the examples directory and then wire in a client.
Most feature flag systems start with booleans and add targeting on top. Superposition starts with context-aware configuration and treats feature flags as one outcome of that model.
That means you can:
If you are comparing tools, that is the lens to use: Superposition is best understood as context-aware configuration first, with feature flags and experimentation built on top.
Superposition ships two integration surfaces:
Ready to integrate? Use the quick start guide and choose the SDK or provider that matches your application.
Want a broader systems view? Open the DeepWiki architecture guide.
The HTTP API exposes Prometheus metrics on SUPERPOSITION_METRICS_PORT (default 9091):
curl http://localhost:9091/metrics
We welcome contributions across the platform, clients, docs, and examples.
Start with the development setup docs. If you'd like help getting started, join the Discord community or email superposition@juspay.in.
This repository is distributed under the Apache 2.0 license.
See the LICENSE file for the full terms and repository-specific details.
(top 30 of 33)
Rust
51.6%
Java
19.3%
Haskell
10.0%
Python
9.7%
TypeScript
6.2%
Kotlin
1.0%
Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes
See the code
Quick start · Concepts · Self-hosting & setup · Architecture guide
Superposition is an open source configuration management platform that simplifies and enables safe, reliable configuration for applications.
Superposition helps teams manage configuration and experimentation in a smarter way. Instead of hardcoding values or juggling between messy config files, it lets you define defaults, set contexts/overrides (Rules) for different dimensions (like per-environment, tenant, region, or device), and safely roll out changes through experiments.
Think of it as a system where your configuration is aware of context: the right settings automatically apply to the right situation, with full type safety and controlled rollouts. Feature flags are just one thing you can do with it, not the main idea.
If you want to see it working first, start with the local demo below. If you want to understand the model before you run it, jump straight to the docs or architecture wiki.
The fastest way to try Superposition locally is to run the demo image with a preloaded setup:
docker run -p 8080:8080 ghcr.io/juspay/superposition-demo:latest
Then open http://localhost:8080 and explore the admin interface.
If you want to run the repository itself instead of the demo image:
git clone https://github.com/juspay/superposition.git
cd superposition
# Optional: enter the Nix dev shell if you use Nix
nix develop
# Start local dependencies (Postgres/Redis)
podman compose up -d
# Set up the dev environment and run Superposition
make setup
make run
docker compose up -d only starts local dependencies from docker-compose.yaml; it does not start the Superposition UI/API on :8080. Use make run to launch the server after setup.
If you are not using Nix, follow the dependency installation steps in the setup guide before running make setup.
Need the guided path? Start with the quick start guide or read the setup docs.
Superposition treats configuration like product logic, not scattered environment variables, one-off switch statements, or oversized feature flag trees. Read more about context-aware configuration and experimentation.
Superposition fits anywhere you need configuration to change safely without redeploying application code.
Examples in this repository:
Prefer examples over theory? Browse the examples directory and then wire in a client.
Most feature flag systems start with booleans and add targeting on top. Superposition starts with context-aware configuration and treats feature flags as one outcome of that model.
That means you can:
If you are comparing tools, that is the lens to use: Superposition is best understood as context-aware configuration first, with feature flags and experimentation built on top.
Superposition ships two integration surfaces:
Ready to integrate? Use the quick start guide and choose the SDK or provider that matches your application.
Want a broader systems view? Open the DeepWiki architecture guide.
The HTTP API exposes Prometheus metrics on SUPERPOSITION_METRICS_PORT (default 9091):
curl http://localhost:9091/metrics
We welcome contributions across the platform, clients, docs, and examples.
Start with the development setup docs. If you'd like help getting started, join the Discord community or email superposition@juspay.in.
This repository is distributed under the Apache 2.0 license.
See the LICENSE file for the full terms and repository-specific details.
(top 30 of 33)
Rust
51.6%
Java
19.3%
Haskell
10.0%
Python
9.7%
TypeScript
6.2%
Kotlin
1.0%