Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arn4v/offline-first

A list of projects in the offline-first storage, sync & realtime collaboration/multiplayer space. [PRs welcome]
https://github.com/arn4v/offline-first

crdt crdt-implementations crdts offline-first prs-welcome realtime-collaboration sqlite

Last synced: 3 months ago
JSON representation

A list of projects in the offline-first storage, sync & realtime collaboration/multiplayer space. [PRs welcome]

Awesome Lists containing this project

README

        

# Offline-First

A list of projects in the offline-first storage, sync & realtime collaboration/multiplayer space.

## Databases

1. [RxDB](https://github.com/pubkey/rxdb)
2. [WatermelonDB](https://github.com/Nozbe/WatermelonDB)
3. [Tuple](https://github.com/ccorcos/tuple-database)
4. [Datascript](https://github.com/tonsky/datascript)
5. [Gun](https://github.com/amark/gun)
6. [TinyBase](https://tinybase.org/)
7. [SignalDB](https://signaldb.js.org/)
8. [Fireproof](https://use-fireproof.com/)
9. [Vlcn](https://github.com/vlcn-io/vlcn-orm) – ORM & P2P Syncing library to build offline-first apps.
10. [Kikko](https://github.com/kikko-land/kikko) – Reactive query layer on top of SQLite with support for web, desktop (Electron/Tauri) and mobile (React Native/Capacitor)

## Frameworks
1. [Evolu](https://github.com/evoluhq/evolu)
2. [Verdant](https://github.com/a-type/verdant)
3. [Liveblocks](https://liveblocks.io)
4. [Replicache](https://replicache.dev/)
5. [SyncedStore](https://github.com/yousefed/SyncedStore)

## CRDT Implementations

### JavaScript
1. [Tinymerge](https://github.com/siliconjungle/tiny-merge)
2. [Yjs](https://github.com/yjs/yjs)
3. [Automerge](https://github.com/automerge/automerge)

### Rust
1. [CR SQlite](https://github.com/vlcn-io/cr-sqlite) - LWW register for SQLite
2. [Diamond Types (Rust)](https://github.com/josephg/diamond-types)
3. [y-crdt - Rust port of Y.js](https://github.com/y-crdt/y-crdt)
4. [automerge-rs](https://github.com/automerge/automerge-rs)

## Startups

1. [InstantDB](https://instantdb.com) – Firebase alternative with a Graph-based client DB at the core
3. [ElectricSQL](https://electric-sql.com/)
4. [Homebase](https://homebase.io/)
5. [Convex](https://www.convex.dev/)

## Miscellaneous

1. [Redux Offline](https://github.com/redux-offline/redux-offline) – Persistence layer for Redux stores.
2. [localForage](https://github.com/localForage/localForage)

## Resources

### Writeups

1. [Local-first software – You own your data, in spite of the cloud](https://www.inkandswitch.com/local-first/) - [Ink and Switch](https://www.inkandswitch.com)
2. [Building a BFT JSON CRDT](https://jzhao.xyz/posts/bft-json-crdt/)
3. [Riffle - Building data-centric apps with a reactive relational database](https://riffle.systems/essays/prelude/)
4. [Realtime editing of ordered sequences](https://www.figma.com/blog/realtime-editing-of-ordered-sequences/)
5. [How Figma’s multiplayer technology works](https://www.figma.com/blog/how-figmas-multiplayer-technology-works/)
6. [An introduction to state-based CRDTs](

### Videos

1. [CRDTs for Mortals](https://www.youtube.com/watch?v=DEcwa68f-jY) - James Long
2. [Conflict-Free Replicated Data Types (CRDT) for Distributed JavaScript Apps.](https://www.youtube.com/watch?v=M8-WFTjZoA0)
3. [A CRDT Primer: Defanging Order Theory](https://www.youtube.com/watch?v=OOlnp2bZVRs) - John Mumm
4. [Building a collaborative text editor with WebRTC and CRDTs](https://www.youtube.com/watch?v=hy0ePbpna5Y)
6. [​Riffle - Reactive Relational State (Local-First Meetup Berlin #1)](https://www.youtube.com/watch?v=zjl7CpG9h3w) - Geoffrey Litt
7. [CRDTs for Non Academics](https://www.youtube.com/watch?v=vBU70EjwGfw)
8. [Automerge: Making servers optional for real-time collaboration](https://www.youtube.com/watch?v=PHz17gwiOc8) - Martin Kleppmann
9. [Linear's realtime sync system](https://www.youtube.com/watch?v=WxK11RsLqp4&t=2169s) - Tuomas Artman
10. [Scaling the Linear Sync Engine](https://linear.app/blog/scaling-the-linear-sync-engine)
11. [Metamuse Episode 56 - Sync]([url](https://museapp.com/podcast/56-sync/)https://museapp.com/podcast/56-sync/)

### Podcasts
1. [Localfirst.fm](https://localfirst.fm/)