How it works
LiveStore is a fully-featured, client-centric data layer (replacing libraries like Redux, MobX, etc.) with a reactive embedded SQLite database powered by real-time sync (via event-sourcing).
Client A
= Persisted in device storage
Let's look at a real example
The following is a simple TodoMVC app built with LiveStore showing how to model your events, state and reactively query the database.
See more examples on GitHub
Demos speak louder than words
LiveStore is designed for demanding & high-performance apps. Let's see it in action.
Fun fact: LiveStore was originally developed as a part of Overtone and later factored out.
Designed and optimized for demanding applications
LiveStore is based on years of research and was developed as the data foundation for uncompromising apps like Overtone.
Reactive & persisted SQLite
LiveStore is based on SQLite enabling instant reactive queries while efficiently persisting data in the background.
Learn moreReal-time sync engine
LiveStore includes a built-in sync engine based on event sourcing (similar to Git) allowing for complex syncing scenarios.
Learn morePremium DX & devtools
For best-in-class developer experience, LiveStore offers first-class devtools similar to Chrome DevTools but for your data.
Learn moreHigh performance
LiveStore was designed for high-performance applications enabling developers to build complex apps running at 120 FPS.
Powerful type-safe schema
LiveStore offers a powerful type-safe schema API allowing for ergonomic data modeling and evolution without database migrations.
Local-first
LiveStore allows you to build local-first/offline-first apps by taking care of the hardest part: data management.
What LiveStore does vs. what not
LiveStore was designed to be a principled and flexible data layer. It's design decisions might make it unsuitable for some use cases. Learn more about when to use LiveStore.
What LiveStore does
- Provide a powerful data foundation for your app.
- Reactive query layer with full SQLite support.
- Adapters for most platforms (web, mobile, server/edge, desktop).
- Flexible data modeling and schema management.
- Support true offline-first workflows.
- Custom merge conflict resolution.
- Sync with a supported provider or roll your own.
- Helps avoid data vendor lock-in.
What LiveStore doesn't do
- Not a batteries-included framework (no auth, file upload, etc).
- Not a good fit for some use cases.
- Doesn't sync with your existing database.
- Doesn't provide a hosted service.
- Doesn't scale for unbounded amounts of data.
- Doesn't support peer-to-peer/decentralized syncing.
- Sell your data.
Additional resources
Check out the following resources to learn more about LiveStore.
Riffle essay
In the Riffle essay (+ PhD thesis by Geoffrey Litt), we explored the idea of reactive SQLite as a modern state management system.
Read moreThe story behind LiveStore
LiveStore was designed and developed as foundation for Overtone, a next-gen music app. To achieve the high-performance requirements of the app, we needed a state management framework that is able to handle the complex data scenarios of the app which started the Riffle research project and later became LiveStore.
Get started
Give LiveStore a try. Start with an existing example or add it to your own project.
Sponsor the project
Become a sponsor and get access to...
- LiveStore devtools
- Discord channel
- Community