Loading video...
Video Failed to Load
2 years, YC, 5 team members, and 2000 commits later: Instant is now open source!
365,533 views • 1 year ago •via X (Twitter)
11 Comments

Instant is modern Firebase [1]. You write relational queries in the shape of the data you want and Instant handles all the data fetching, permission checking, and offline caching. Here's the code: [1] @JamesTamplin backs us

We also support ephemeral updates, like cursors, or who's online, and ship with four SDKs: Javascript, React, React Native, and Node. How does it look? Here's a barebones chat app in about 10 lines:

We built Instant because writing web apps today is full of schleps. Just basic CRUD: models, endpoints, stores, and optimistic updates. Try multiplayer, and you get stateful servers. Support offline mode, and you think about IndexedDB. It doesn't have to be like this

In 2021, we realized that these schleps are actually database problems problems in disguise! If you had a database on the client, you wouldn't need to think about stores, selectors, endpoints, or local caches: just write queries. If these queries were multiplayer by default, you wouldn't have to worry about stateful servers. And if your database supported rollback, you'd get optimistic updates for free.

So we built Instant. Instant gives you a database you can use in the client, so you can focus on what’s important: building a great UX for your users, and doing it quickly.

How does it all work? At a high level, we're a relational sync engine. Our architecture is inspired by Asana's Luna, Figma's LiveGraph, and Datomic. More details on the github:

Under the hood, we store all user data as triples in one big Postgres database. A multi-tenant setup lets us offer a free tier that never pauses.

Want to get started? We built a pretty cool demo for you: you can try Instant without even signing up! Check it out:

> If you had a database on the client, you wouldn't need to think about stores, selectors, endpoints, or local caches: just write queries. How does instant differ from running sqlite or pglite on your client with a sync engine like electricsql?

congrats!

Thank you Jarred! We're big fans of bun; I love seeing how fast you guys ship.


