Instant is hiring! Want to build Figma-like tech? Come work with us!
Instant is a modern Firebase. We make you productive by giving your frontend a real-time database.
The best apps today have a common feature set. Every interaction happens instantly, you rarely see loading screens, collaboration is easy and delightful, and the app still works when offline.
But building them is a schlep: spin up servers, auth, permissions, endpoints, sockets, then shuffle data, handle optimistic updates, and deal with rollbacks.
Instant solves these problems for you by giving you a database you can subscribe to directly in the browser. You write relational queries in your app, and we handle the rest.
Want to try it yourself? Build a live app in less than 5 minutes.
import { init, tx, id } from "@instantdb/react";
const db = init({
appId: process.env.NEXT_PUBLIC_APP_ID,
});
function Chat() {
// 1. Read
const { isLoading, error, data } = db.useQuery({
messages: {},
});
// 2. Write
const addMessage = (message) => {
db.transact(tx.messages[id()].update(message));
};
// 3. Render!
return <UI data={data} onAdd={addMessage} />;
}
Instant was born when we realized that some of the hardest UI problems are actually database problems in disguise. When you solve problems at the database layer, your software becomes more powerful and succinct. Here’s how:
When apps are at their best, every change a user make should reflect instantly. There should be few spinners, loading states, or refresh buttons.
To do this today, you write custom code for endpoints, logic to apply optimistic updates, and to handle rollbacks.
Databases already know how to apply changes and handle rollbacks. With Instant, you write `transact`
, and optimistic updates are handled for you.
Users seek collaborative experiences and sync across devices. To get this right, you need to set up sockets, cache and invalidate queries, and set up permission filters.
Instant takes inspiration from systems like Figma’s LiveGraph and Linear’s sync. We built the infrastructure that listens to transactions, and updates relevant queries.
Users want your app to work even when they're offline. Not only does this make your app available everywhere, it makes your app feel faster. The first time your app loads, users see a loading screen. Every load afterwards gets satisfied by the local cache.
To support this, you need a way to apply changes locally, persist to disk, and reconcile when users come back online.
Instant comes with this logic baked in: the local database knows what is committed to the server and what is pending. No need to deal with queues.
Once your application becomes multiplayer, you see opportunities for new experiences everywhere: who’s online, who’s typing, and where are their cursors?
Instant supports these use cases — you can add shared cursors in 10 lines.
When you use Instant, you can focus on what’s important: building a great UX for your users, and doing it quickly.
You don’t need servers, separate auth providers, custom endpoints, front-end stores, or different APIs for mobile vs web. You get a real-time architecture that makes your frontend smooth.
When time comes for custom backend logic, you can spin up a server and use Instant’s admin SDK. Build your next SaaS app, React Native app, web app, or collaborative app on Instant. We’ll help you move fast, and scale alongside you.
Instant is built by senior and staff engineers from Facebook and Airbnb. We spent multiple years thinking deeply about this problem and have built a product that we believe is the future of application development.
We're backed by YCombinator, SV Angel, and top investors like:
Check out our essay below to learn more why we think Instant is solving one of the largest problems in frontend development today.