Instant
A realtime database you query from the client, giving app developers auth, permissions, storage, presence and offline caching out of the box.
Open Source Alternative to:

Instant is a database you use directly from the client. The usual sequence of standing up servers, caches, ORMs and endpoints, then writing stores, selectors and mutators, then finally painting a screen, collapses into writing a relational query in the shape of the data you want.
The premise behind it is that most of the work UI engineers do is a database problem in disguise. With a database on the client, stores and local caches stop being your concern. Because every query is multiplayer by default, stateful servers do too. Because the store supports rollback, optimistic updates come for free.
The architecture that makes this work is documented rather than hidden.
- Triple store: user data is kept as triples in one multi-tenant Postgres database.
- InstaQL: a relational query language shaped much like GraphQL, resolved by a datalog query engine.
- Sync server: written in Clojure, it tails the Postgres write-ahead log to detect novelty and invalidate affected queries.
- Client cache: recent queries persist to IndexedDB on the web and AsyncStorage in React Native.
- Permissions: every read and write passes a permission system powered by the Google CEL library.
Ephemeral state such as cursors and who is online rides alongside durable data, so presence needs no separate service. SDKs exist for JavaScript, React and React Native, and a barebones realtime chat app takes about a dozen lines.
The multi-tenant setup lets a free hosted tier run without pausing, and both the client and server can be run locally with instructions in their own directories.
Stars
10,509Forks
400Last commit
6 days agoRepository age
2 yearsLicense
Apache-2.0Repository
instantdb/instant
Auto-fetched from GitHub .
Open source alternatives similar to Instant:
Stars
Forks
Last commit
Stars
Forks
Last commit
Stars
Forks
Last commit