Welcome to BigState
BigState is a platform for storing application state and routing matching updates through configurable delivery channels. Publishers write state over HTTP; delivery configurations determine which consumers receive each update.
Use BigState when several services or clients need a shared, versioned view of changing data—for example, device telemetry, user presence, live metrics, or game state.
How BigState works#
1. Model
Define an object and the type of state it accepts.
2. Publish
Write the latest state through the HTTP API.
3. Deliver
Route matching updates through the configured delivery model.
The HTTP API is the source of truth for configuration and state. Delivery channels provide notifications; consumers can fetch the state again when they need the authoritative value.
Core Concepts#
- Object — A named resource whose definition describes the state it accepts. An object can represent a device, user location, counter, or any other stateful entity.
- State — A timestamped and versioned value associated with an object. State can be stored inline or refer to an uploaded binary value through
valueRef. - Delivery — A configured channel that selects objects and routes their updates to consumers.
- Principal — An application or user identity that interacts with BigState.
- Policy — An authorization rule that controls which principals may act on resources.
- API key or token — Credentials sent with requests. Keep API keys in trusted environments; use appropriately scoped credentials in client applications.
Before you begin#
To follow the tutorial or call the API, you need:
- A BigState API key.
- Your owner identifier.
- An object name in the form expected by the API, such as
simple:counter@OWNER. - A modern browser, an HTTP client, or the JavaScript SDK.
Treat API keys as secrets. Do not commit them to source control or expose privileged keys in public browser applications.