Loco Sync is a sync engine for local-first applications, and comes with the expected benefits of instant updates, real-time collaboration, and offline support. Loco Sync's particular approach emphasizes the following:
- Bring your own Backend
- Opt-in configuration to customize behavior and fine-tune performance
- Excellent Typescript integration, especially for dynamic client queries
Using Loco Sync in your project is as simple as:
- Configure your application by defining models, relationships, mutations, and more.
- Choose a storage adapter (IndexedDB with
@loco-sync/idb
is a great choice for browser apps). - Implement the network interface for your backend.
- Setup
@loco-sync/react
to query and mutate synced data in your components
Full documentation can be found at loco-sync.com.
Install the core @loco-sync/client
library:
npm install @loco-sync/client # npm
yarn add @loco-sync/client # yarn
bun add @loco-sync/client # bun
pnpm add @loco-sync/client # pnpm
Additionally, install any of the other adapter libraries you'll be using:
npm install @loco-sync/idb # IndexedDB storage adapter
npm install @loco-sync/react # React hooks adapter
Loco Sync was heavily inspired by the videos Linear has released on its own sync engine implementation:
Loco Sync was also influenced by a number of other projects in the local first ecosystem, including: