30 open-source projects similar to apache/pouchdb, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pouchdb alternative.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
PouchDB is a JavaScript NoSQL document database that runs directly in the browser. It serves as an offline-first data store that allows applications to save state and user data locally using persistent storage. The database is compatible with CouchDB, implementing its API to enable synchronization between browser environments and remote servers. This allows for cross-device data syncing and the development of local-first software that operates without a constant internet connection. The project covers data storage and synchronization capabilities, including the ability to migrate database sc
localForage is a browser storage wrapper and key-value store that provides a unified JavaScript API for persisting data. It acts as an abstraction layer over IndexedDB, WebSQL, and localStorage, allowing web applications to save data offline. The library features a priority-based driver fallback system that automatically detects and selects the most capable storage engine available in the browser. It simplifies data management by providing an asynchronous interface for storing complex JavaScript objects and binary buffers without requiring manual serialization. The project covers broad capab
Dexie.js is a wrapper library for IndexedDB that provides a simplified interface for managing and querying structured data within the browser. It functions as a browser database manager used to maintain persistent application state and store binary blobs and records. The project serves as an offline-first data store that synchronizes browser data with remote servers to maintain consistency across sessions. It also acts as a reactive database store by monitoring data changes in real time to trigger automatic user interface updates, and functions as a client-side search engine for indexing and
Couchbase Lite for iOS is an embedded NoSQL database engine designed for native mobile and desktop applications. It functions as a library within the application process, providing local document storage and structured querying capabilities that allow software to remain fully functional and responsive without an active internet connection. The library distinguishes itself through a replication engine that synchronizes local database changes with a central server to maintain consistent state across multiple devices. This synchronization process utilizes a delta-based protocol to transmit only
Store.js is a client-side state persistence library and web storage abstraction layer. It provides a consistent browser key-value storage wrapper that manages the persistence of application state across sessions using the most capable available local storage mechanism. The engine is extensible, allowing for the integration of custom storage backends and plugins to modify how data is read and written. It functions as a reactive web storage manager, monitoring specific keys to trigger notifications when stored values are updated. The library handles automatic data serialization for complex typ
This project is a collection of reference implementations, sample code, and starter kits for integrating Firebase backend services into web applications using the JavaScript SDK. It serves as a practical guide for bootstrapping projects with cloud-hosted authentication, databases, and serverless logic. The repository provides specific examples for implementing real-time data synchronization, user identity management, and event-driven cloud functions. It also includes reference code for using local service emulators to test cloud functionality on a local machine before production deployment.
This is a mobile object database and NoSQL local data store that replaces relational tables with a schema-based model. It functions as a reactive data store, using live object observations and change notifications to trigger automatic user interface refreshes. The system provides built-in mobile cloud data synchronization to keep local datasets consistent with a remote server across multiple devices. It also includes security features for encrypted local storage, protecting sensitive on-disk data using at-rest encryption keys and fine-grained access control. Broad capabilities include object
This project is a synchronization plugin that mirrors notes, settings, and vault data across multiple devices. It functions as a self-hosted vault synchronizer, allowing users to maintain a personal knowledge base using a user-owned server. The system utilizes a CouchDB synchronization layer to maintain consistent document states across peers. Security is handled through end-to-end encryption, which encrypts vault content locally before transmission to ensure privacy on remote storage. The replication model supports both self-hosted data replication and peer-to-peer data transfer. It manages
Hoodie is a data synchronization framework and offline-first JavaScript backend designed to keep client-side data stores in sync with a remote backend. It provides a local-first persistence layer that allows applications to remain functional while offline by abstracting the client-side database. The system features a NoSQL backend interface that enables interaction with remote data stores without requiring custom server-side boilerplate code. This is supported by a modular driver system of pluggable backend adapters that connect the synchronization layer to various remote database providers.
WatermelonDB is an offline-first data synchronization engine and reactive database library designed for mobile and web applications. It provides a persistent storage layer backed by SQLite, enabling applications to maintain full functionality and data consistency while operating without an internet connection. The framework distinguishes itself through a reactive data binding system that automatically updates user interface components whenever underlying database records change. It utilizes schema-driven model mapping to generate type-safe interfaces and employs lazy object materialization to
This project is a messaging SDK for Android applications, providing the core infrastructure for real-time communication using Kotlin and Jetpack Compose. It offers a suite of modular, declarative UI components and a backend-connected API to manage user authentication, persistent socket connections, and data synchronization. The SDK is distinguished by its offline-first architecture, which utilizes local database persistence to cache conversation history and queue user actions for synchronization once network connectivity is restored. Developers can customize the messaging experience through a
ShareJS is a collaborative document database and synchronization engine designed for real-time shared state management. It provides an operational transform sync engine to enable simultaneous editing of plain-text and JSON data, and a RESTful synchronization API for managing document states via HTTP. The system features an offline-first data sync layer that queues local modifications while disconnected and automatically pushes edits upon reconnection. It also includes a middleware access control layer that intercepts database requests to enforce security policies and perform request rewriting
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
This is a backend-as-a-service SDK that connects web and mobile applications to a suite of cloud services. It provides a unified interface for managing user identity, executing serverless logic, and handling cloud object storage. The toolkit is characterized by its real-time data synchronization, which allows NoSQL document data to stay consistent across multiple clients with built-in offline persistence. It facilitates secure user access through a variety of identity providers and manages serverless function invocation to execute backend logic in response to HTTPS requests or database events
Project Nomad is a self-hosted survival suite and containerized offline operating environment. It provides a collection of essential tools, including a local retrieval-augmented generation system, an offline mapping server, and a local knowledge base for large language models, all designed to operate on air-gapped hardware. The system prioritizes total offline isolation to ensure telemetry-free operation. It enables private data analysis and semantic document querying through local-first vector storage and offline model execution, keeping all data on internal hardware without requiring intern
Jazz is a local-first relational database and synchronization framework designed for offline-capable applications. It functions as a reactive state management system that treats database records as the primary source of truth, automatically updating user interfaces in real time as underlying data changes. The project distinguishes itself through a collaborative data synchronization model that utilizes row-level versioning to track branching edit histories. It implements a security engine based on identity-claim row security, which enforces granular permissions on individual records, and suppo
Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c
Doctor-Dignity is a privacy-preserving medical AI framework designed to execute large language models and diagnostic reasoning tasks locally on edge hardware. It provides a local inference engine and retrieval augmented generation implementation that ensures sensitive health data remains offline by removing dependencies on external cloud servers and internet connectivity. The project includes a medical fine-tuning framework for adapting base language models to specialized clinical domains using parameter-efficient methods. To enable execution on resource-constrained and mobile devices, it pro
HospitalRun Frontend is an offline-first progressive web application designed for hospital information system administration, enabling healthcare facilities to manage patient records, appointments, and clinical workflows through a web-based interface. The application stores patient data locally in the browser's IndexedDB database, allowing full functionality without a persistent internet connection, and synchronizes changes with the backend server via RESTful API calls when connectivity is restored. The system implements role-based access control routing that restricts navigation and feature
Realm is a mobile database: an alternative to SQLite & key-value stores
Instant is a real-time backend as a service and relational graph database designed to synchronize data across clients automatically. It functions as a data synchronization layer that provides authentication, permissions, and relational data storage for web and mobile applications. The platform includes an optimistic UI framework that updates local interfaces immediately during writes and handles automatic server rollbacks. It also features a real-time presence system to broadcast transient user states, such as cursor positions and online status, to other connected clients. The system manages
This project is a distributed, document-oriented database system designed to store information in flexible, hierarchical structures. It supports horizontal scaling through automated sharding and maintains high availability across global clusters using a multi-node replication protocol. By executing multi-document operations as atomic units, the system ensures data integrity and consistency across distributed environments. The platform distinguishes itself by integrating advanced vector-based indexing, which enables semantic similarity searches alongside traditional geospatial and lexical quer
anytype-ts is a TypeScript client library and offline-first knowledge base client designed for managing structured layouts and modular blocks within a private distributed database. It functions as a zero-knowledge data synchronizer and schema-driven API wrapper that enables the secure replication of encrypted data across devices. The library utilizes peer-to-peer connectivity and zero-knowledge encryption to ensure data remains private and unreadable to hosting infrastructure. It employs a schema-driven approach to compile data definitions into typed language bindings, ensuring consistent com
Dat is a peer-to-peer file synchronization tool that combines an append-only, hash-addressed log with Merkle tree verification, cryptographic access keys, live streaming replication, and swarm networking for sparse, versioned file sharing. It stores file data and metadata in a cryptographically signed, versioned append-only log where each entry is identified by its hash, and uses public-key cryptography to secure archives with separate read and write keys. The tool enables live streaming replication of data between peers as entries are appended, with Merkle tree integrity verification that su
This project is a JavaScript library and SDK used to integrate web and mobile applications with cloud services. It serves as a bridge to backend providers for user authentication, binary object storage, and real-time data synchronization. The library provides a unified interface for managing cloud identity and access, executing queries and mutations against GraphQL endpoints, and consuming REST APIs with secure request signing. It also includes tools for accessing machine learning services for natural language processing and computer vision. Broad capability areas include offline-first data
This project is a client-side software development kit for iOS and macOS applications that integrates mobile software with a cloud-based backend. It functions as a mobile backend as a service interface, enabling developers to manage user authentication, cloud data persistence, and synchronization without the need to maintain server-side infrastructure. The framework is designed for offline-first development, utilizing a local datastore to cache application state and ensure functionality during periods of network disconnection. It features an automated synchronization engine that queues pendin
This is a Backend as a Service SDK for Apple platforms, providing a collection of libraries that connect iOS and macOS applications to cloud databases, authentication services, and serverless infrastructure. It serves as a developer kit for integrating real-time data synchronization, file storage, and push notifications into native apps. The SDK is distinguished by its generative AI integration, which routes text and multimodal prompts between on-device models and cloud-hosted large language models. It further differentiates itself with a specialized app distribution tool for managing pre-rel
React Native AsyncStorage is a persistent key-value storage library designed for React Native applications. It provides a unified local storage interface that works identically on both iOS and Android, ensuring saved data remains available across app restarts and when the device has no network connectivity. The library uses an asynchronous background I/O queue to handle all storage operations without blocking the JavaScript thread, communicating with native storage engines through React Native's bridge protocol. It includes a serialization layer that converts JavaScript values to strings for
Now in Android is a reference application and framework designed to demonstrate modern development patterns for the Android platform. It provides a comprehensive implementation of a modular architecture, utilizing industry-standard practices to organize codebases into independent components that support long-term maintainability and build performance. The project centers on a reactive, unidirectional data flow model that synchronizes visual components with underlying data states. By employing a declarative toolkit for interface construction, the application ensures that screen layouts update